summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-06-08 03:01:59 +0000
committerNorbert Preining <norbert@preining.info>2023-06-08 03:01:59 +0000
commit538e6d6e7c75b7cca5470604811205f9dbd55c03 (patch)
tree4807afb694acc9e4ecff2d466d5e37788127d6fb
parent5c99135c06494b236cce7fd76e346851cf8c4408 (diff)
CTAN sync 202306080301
-rw-r--r--FILES.byname5291
-rw-r--r--FILES.byname.gzbin2532808 -> 2533106 bytes
-rw-r--r--FILES.last07days3182
-rw-r--r--biblio/ctan-bibdata/ctan.bib59
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3680800 -> 3678087 bytes
-rw-r--r--graphics/asymptote/ChangeLog366
-rw-r--r--graphics/asymptote/GUI/icons_rc.py3474
-rw-r--r--graphics/asymptote/GUI/pyUIClass/custMatTransform.py2
-rw-r--r--graphics/asymptote/GUI/pyUIClass/labelTextEditor.py2
-rw-r--r--graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py2
-rw-r--r--graphics/asymptote/GUI/pyUIClass/widg_addLabel.py2
-rw-r--r--graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py2
-rw-r--r--graphics/asymptote/GUI/pyUIClass/widg_editBezier.py2
-rw-r--r--graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py2
-rw-r--r--graphics/asymptote/GUI/pyUIClass/window1.py2
-rw-r--r--graphics/asymptote/LspCpp/CMakeLists.txt15
-rw-r--r--graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp1
-rw-r--r--graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp2
-rw-r--r--graphics/asymptote/LspCpp/examples/TcpServerExample.cpp2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/optionalVersion.h13
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h22
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h7
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h8
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h18
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h6
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h6
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h42
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h20
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h10
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h130
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h146
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h56
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h10
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h14
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h6
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h8
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h38
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h15
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h12
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h12
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h12
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h4
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h6
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h4
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h6
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h8
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h10
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h4
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h4
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h10
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h16
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h4
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h2
-rw-r--r--graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h2
-rw-r--r--graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp3
-rw-r--r--graphics/asymptote/LspCpp/src/lsp/initialize.cpp2
-rw-r--r--graphics/asymptote/LspCpp/src/lsp/lsp.cpp4
-rw-r--r--graphics/asymptote/LspCpp/src/lsp/textDocument.cpp4
-rw-r--r--graphics/asymptote/LspCpp/src/lsp/utils.cpp2
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt7
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json5
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis20
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md10
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md8
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp3
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h3
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h34
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h56
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h77
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h2
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h2
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h10
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h30
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h2
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h4
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h731
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp2
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp2
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp2
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp6
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp659
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp14
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp85
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp20
-rw-r--r--graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp9
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake6
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake4
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make14
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/Doxyfile8
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/Makefile26
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake6
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake6
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake20
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make80
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal160
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make2
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make6
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/Makefile74
-rw-r--r--graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake4
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt26
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/README.md40
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h22
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h49
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h2
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h2
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h19
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt18
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/tests/apitests.cpp6
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/tests/noexceptionstests.cpp4
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.h (renamed from graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp)25
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.h (renamed from graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp)7
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.h (renamed from graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp)43
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.h (renamed from graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp)6
-rw-r--r--graphics/asymptote/LspCpp/third_party/utfcpp/utf8cppConfig.cmake.in6
-rw-r--r--graphics/asymptote/Makefile.in2
-rw-r--r--graphics/asymptote/ReleaseNotes12
-rw-r--r--graphics/asymptote/asy-keywords.el2
-rw-r--r--graphics/asymptote/asy.list102
-rw-r--r--graphics/asymptote/asymptote.spec2
-rw-r--r--graphics/asymptote/base/geometry.asy169
-rw-r--r--graphics/asymptote/base/plain.asy4
-rw-r--r--graphics/asymptote/base/shaders/fragment.glsl2
-rw-r--r--graphics/asymptote/base/three_surface.asy50
-rw-r--r--graphics/asymptote/base/three_tube.asy10
-rw-r--r--graphics/asymptote/base/v3d.asy13
-rw-r--r--graphics/asymptote/base/v3dheadertypes.asy2
-rw-r--r--graphics/asymptote/base/v3dtypes.asy2
-rw-r--r--graphics/asymptote/build-scripts/HOWTO-MSWindows2
-rwxr-xr-xgraphics/asymptote/build-scripts/build-asymptote4
-rw-r--r--graphics/asymptote/common.h12
-rwxr-xr-xgraphics/asymptote/config.guess1468
-rwxr-xr-xgraphics/asymptote/configure20
-rw-r--r--graphics/asymptote/configure.ac4
-rw-r--r--graphics/asymptote/cudareflect/tinyexr/tinyexr.h2
-rw-r--r--graphics/asymptote/doc/CAD.pdfbin198487 -> 198488 bytes
-rw-r--r--graphics/asymptote/doc/FAQ/asy-faq.info2
-rw-r--r--graphics/asymptote/doc/TeXShopAndAsymptote.pdfbin81303 -> 81287 bytes
-rw-r--r--graphics/asymptote/doc/asy-latex.pdfbin208908 -> 208908 bytes
-rw-r--r--graphics/asymptote/doc/asy.12
-rw-r--r--graphics/asymptote/doc/asyRefCard.pdfbin121145 -> 121145 bytes
-rw-r--r--graphics/asymptote/doc/asymptote.pdfbin1288667 -> 1288468 bytes
-rw-r--r--graphics/asymptote/doc/png/asymptote.info38
-rw-r--r--graphics/asymptote/env.h2
-rw-r--r--graphics/asymptote/fileio.cc40
-rw-r--r--graphics/asymptote/fileio.h2
-rw-r--r--graphics/asymptote/fundec.cc2
-rw-r--r--graphics/asymptote/glrender.cc61
-rw-r--r--graphics/asymptote/lspserv.cc4
-rw-r--r--graphics/asymptote/lspserv.h4
-rw-r--r--graphics/asymptote/picture.cc3
-rw-r--r--graphics/asymptote/profiler.h17
-rw-r--r--graphics/asymptote/psfile.cc21
-rw-r--r--graphics/asymptote/revision.cc2
-rw-r--r--graphics/asymptote/runpicture.cc104
-rw-r--r--graphics/asymptote/runpicture.in2
-rw-r--r--graphics/asymptote/runtime.cc4
-rw-r--r--graphics/asymptote/runtime.in4
-rw-r--r--graphics/asymptote/seconds.h52
-rw-r--r--graphics/asymptote/settings.cc5
-rw-r--r--graphics/asymptote/symbolmaps.cc2
-rw-r--r--graphics/asymptote/symbolmaps.h4
-rw-r--r--graphics/asymptote/tests/Makefile2
-rw-r--r--graphics/asymptote/tests/io/csv.asy18
-rw-r--r--graphics/asymptote/tests/io/input_with_nan.csv5
-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/pgf/contrib/tikz-nfold/README.md2
-rw-r--r--graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.pdfbin302791 -> 302816 bytes
-rw-r--r--graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.tex2
-rw-r--r--graphics/pgf/contrib/tikz-nfold/tikzlibrarynfold.code.tex235
-rw-r--r--info/spanish/antique-spanish-units/README13
-rw-r--r--info/spanish/antique-spanish-units/antique-spanish-units.pdf1185
-rw-r--r--info/spanish/antique-spanish-units/antique-spanish-units.tex236
-rw-r--r--info/spanish/tipos/00readme (renamed from info/spanish/00readme)0
-rw-r--r--info/spanish/tipos/tipos.pdf (renamed from info/spanish/tipos.pdf)bin41046 -> 41046 bytes
-rw-r--r--macros/latex/contrib/examz/README.txt18
-rw-r--r--macros/latex/contrib/examz/examz.dtx1168
-rw-r--r--macros/latex/contrib/examz/examz.ins59
-rw-r--r--macros/latex/contrib/examz/examz.pdfbin0 -> 273602 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdfbin8281245 -> 8287659 bytes
-rw-r--r--macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex51
-rw-r--r--macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty53
-rw-r--r--macros/latex/contrib/postit/README.md8
-rw-r--r--macros/latex/contrib/postit/doc/postit-doc-en.pdfbin0 -> 491144 bytes
-rw-r--r--macros/latex/contrib/postit/doc/postit-doc-en.tex629
-rw-r--r--macros/latex/contrib/postit/doc/postit-doc-fr.pdf (renamed from macros/latex/contrib/postit/doc/postit-doc.pdf)bin494921 -> 498661 bytes
-rw-r--r--macros/latex/contrib/postit/doc/postit-doc-fr.tex (renamed from macros/latex/contrib/postit/doc/postit-doc.tex)14
-rw-r--r--macros/latex/contrib/postit/tex/postit.sty568
-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.pdfbin1561747 -> 1564470 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-data.dtx18
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx4
-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.dtx43
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-tree.dtx4
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf-user.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.dtx6
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.pdfbin1004170 -> 1012495 bytes
-rw-r--r--macros/latex/contrib/tagpdf/tagpdf.tex152
-rw-r--r--macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty156
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.dtx1385
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.ins9
-rw-r--r--macros/unicodetex/latex/njuthesis/njuthesis.pdfbin1222131 -> 1250747 bytes
-rw-r--r--support/texlab/CHANGELOG.md16
-rw-r--r--support/texlab/Cargo.lock86
-rw-r--r--support/texlab/crates/base-db/Cargo.toml6
-rw-r--r--support/texlab/crates/base-db/src/diagnostics/bib.rs4
-rw-r--r--support/texlab/crates/base-db/src/graph.rs4
-rw-r--r--support/texlab/crates/base-db/src/semantics/tex.rs14
-rw-r--r--support/texlab/crates/base-db/src/workspace.rs3
-rw-r--r--support/texlab/crates/citeproc/Cargo.toml2
-rw-r--r--support/texlab/crates/commands/Cargo.toml7
-rw-r--r--support/texlab/crates/commands/src/find_envs.rs65
-rw-r--r--support/texlab/crates/commands/src/fwd_search.rs4
-rw-r--r--support/texlab/crates/commands/src/lib.rs2
-rw-r--r--support/texlab/crates/commands/src/placeholders.rs2
-rw-r--r--support/texlab/crates/commands/src/snapshots/commands__find_envs__tests__test.snap27
-rw-r--r--support/texlab/crates/distro/Cargo.toml2
-rw-r--r--support/texlab/crates/parser/Cargo.toml2
-rw-r--r--support/texlab/crates/parser/src/latex.rs55
-rw-r--r--support/texlab/crates/parser/src/latex/lexer/commands.rs11
-rw-r--r--support/texlab/crates/parser/src/latex/lexer/types.rs10
-rw-r--r--support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__paragraphs.txt.snap67
-rw-r--r--support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap2
-rw-r--r--support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap2
-rw-r--r--support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap2
-rw-r--r--support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap2
-rw-r--r--support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap2
-rw-r--r--support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_thmtools.txt.snap35
-rw-r--r--support/texlab/crates/parser/src/test_data/latex/structure/paragraphs.txt11
-rw-r--r--support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_thmtools.txt1
-rw-r--r--support/texlab/crates/symbols/Cargo.toml2
-rw-r--r--support/texlab/crates/symbols/src/document.rs1
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_amsthm.snap (renamed from support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap)0
-rw-r--r--support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_thmtools.snap53
-rw-r--r--support/texlab/crates/symbols/src/document/tests.rs42
-rw-r--r--support/texlab/crates/symbols/src/types.rs2
-rw-r--r--support/texlab/crates/syntax/src/latex/cst.rs36
-rw-r--r--support/texlab/crates/syntax/src/latex/kind.rs3
-rw-r--r--support/texlab/crates/texlab/Cargo.toml20
-rw-r--r--support/texlab/crates/texlab/src/features/completion/builder.rs10
-rw-r--r--support/texlab/crates/texlab/src/features/completion/label.rs2
-rw-r--r--support/texlab/crates/texlab/src/features/completion/matcher.rs2
-rw-r--r--support/texlab/crates/texlab/src/features/formatting/latexindent.rs8
-rw-r--r--support/texlab/crates/texlab/src/features/inlay_hint.rs2
-rw-r--r--support/texlab/crates/texlab/src/features/inlay_hint/label.rs2
-rw-r--r--support/texlab/crates/texlab/src/server.rs42
-rw-r--r--support/texlab/crates/texlab/src/server/extensions.rs17
-rw-r--r--support/texlab/crates/texlab/src/util/cursor.rs15
-rw-r--r--support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap18
-rw-r--r--support/texlab/texlab.14
-rw-r--r--support/texlab/texlab.pdfbin26324 -> 26404 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl6
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb87
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2453392 -> 2454488 bytes
-rw-r--r--timestamp2
288 files changed, 16769 insertions, 8095 deletions
diff --git a/FILES.byname b/FILES.byname
index 3e52d96b4e..d4ee7b3b88 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2056,12 +2056,12 @@
2023/04/13 | 1675 | biblio/citation-style-language/README.md
2023/04/13 | 11957 | biblio/citation-style-language/vancouver.csl
2023/04/13 | 4516625 | biblio/citation-style-language.zip
-2023/06/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/06/07 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/06/06 | 2788844 | biblio/ctan-bibdata/ctan.bib
-2023/06/06 | 3678600 | biblio/ctan-bibdata/ctan.pdf
+2023/06/07 | 2788447 | biblio/ctan-bibdata/ctan.bib
+2023/06/07 | 3680800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/06/06 | 4077069 | biblio/ctan-bibdata.zip
+2023/06/07 | 4079380 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5417,7 +5417,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2023/06/06 | 66564 | FILES.last07days
+2023/06/07 | 70848 | 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
@@ -150739,1976 +150739,1982 @@
2012/11/17 | 1096 | graphics/AddTeX2Eps/default.tex
2006/04/17 | 836 | graphics/AddTeX2Eps/readme.txt
2012/11/17 | 5620 | graphics/AddTeX2Eps.zip
-2023/02/09 | 2146 | graphics/asymptote/abs3doutfile.h
-2023/02/09 | 504 | graphics/asymptote/absyn.cc
-2023/02/09 | 1140 | graphics/asymptote/absyn.h
-2023/02/09 | 3297 | graphics/asymptote/access.cc
-2023/02/09 | 2964 | graphics/asymptote/access.h
-2023/02/09 | 2266 | graphics/asymptote/align.h
-2023/02/09 | 886 | graphics/asymptote/angle.h
-2023/02/09 | 18578 | graphics/asymptote/application.cc
-2023/02/09 | 9088 | graphics/asymptote/application.h
-2023/02/09 | 4735 | graphics/asymptote/array.cc
-2023/02/09 | 1975 | graphics/asymptote/array.h
-2023/02/09 | 13980 | graphics/asymptote/arrayop.h
-2023/02/09 | 11541 | graphics/asymptote/aspy.py
-2023/02/09 | 4286 | graphics/asymptote/asy.ico
-2023/02/09 | 17991 | graphics/asymptote/asy-keywords.el
-2023/02/09 | 209322 | graphics/asymptote/asy.list
-2023/02/09 | 1612 | graphics/asymptote/asy-list.pl
-2023/02/09 | 6370 | graphics/asymptote/asymptote.nsi
-2023/02/09 | 3204 | graphics/asymptote/asymptote.spec
-2023/02/09 | 770 | graphics/asymptote/asy.rc
-2023/02/09 | 34 | graphics/asymptote/autogen.sh
-2023/02/09 | 12534 | graphics/asymptote/ax_pthread.m4
-2023/02/09 | 42 | graphics/asymptote/base/animate.asy
-2023/02/09 | 5238 | graphics/asymptote/base/animation.asy
-2023/02/09 | 578 | graphics/asymptote/base/annotate.asy
-2023/02/09 | 99 | graphics/asymptote/base/asy_filetype.vim
-2023/02/09 | 268 | graphics/asymptote/base/asy-init.el
-2023/02/09 | 8240 | graphics/asymptote/base/asy-kate.sh
-2023/02/09 | 71368 | graphics/asymptote/base/asy-mode.el
-2023/02/09 | 1276 | graphics/asymptote/base/asymptote.py
-2023/02/09 | 13477 | graphics/asymptote/base/asy.vim
-2023/02/09 | 50 | graphics/asymptote/base/babel.asy
-2023/02/09 | 9562 | graphics/asymptote/base/bezulate.asy
-2023/02/09 | 11656 | graphics/asymptote/base/binarytree.asy
-2023/02/09 | 5279 | graphics/asymptote/base/bsp.asy
-2023/02/09 | 10840 | graphics/asymptote/base/CAD.asy
-2023/02/09 | 205495 | graphics/asymptote/base/colormap.asy
-2023/02/09 | 14749 | graphics/asymptote/base/contour3.asy
-2023/02/09 | 20277 | graphics/asymptote/base/contour.asy
-2023/02/09 | 2109 | graphics/asymptote/base/drawtree.asy
-2023/02/09 | 1178 | graphics/asymptote/base/embed.asy
-2023/02/09 | 1120 | graphics/asymptote/base/external.asy
-2023/02/09 | 21448 | graphics/asymptote/base/feynman.asy
-2023/02/09 | 15277 | graphics/asymptote/base/flowchart.asy
-2023/02/09 | 35 | graphics/asymptote/base/fontsize.asy
-2023/02/09 | 321757 | graphics/asymptote/base/geometry.asy
-2023/02/09 | 70145 | graphics/asymptote/base/graph3.asy
-2023/02/09 | 64222 | graphics/asymptote/base/graph.asy
-2023/02/09 | 314 | graphics/asymptote/base/graph_settings.asy
-2023/02/09 | 7407 | graphics/asymptote/base/graph_splinetype.asy
-2023/02/09 | 13605 | graphics/asymptote/base/grid3.asy
-2023/02/09 | 3936 | graphics/asymptote/base/interpolate.asy
-2023/02/09 | 2451 | graphics/asymptote/base/labelpath3.asy
-2023/02/09 | 729 | graphics/asymptote/base/labelpath.asy
-2023/02/09 | 25357 | graphics/asymptote/base/lmfit.asy
-2023/02/09 | 908 | graphics/asymptote/base/map.asy
-2023/02/09 | 7302 | graphics/asymptote/base/markers.asy
-2023/02/09 | 11122 | graphics/asymptote/base/math.asy
-2023/02/09 | 251 | graphics/asymptote/base/metapost.asy
-2023/02/09 | 39 | graphics/asymptote/base/nopapersize.ps
-2023/02/09 | 3278 | graphics/asymptote/base/obj.asy
-2023/02/09 | 15601 | graphics/asymptote/base/ode.asy
-2023/02/09 | 15382 | graphics/asymptote/base/palette.asy
-2023/02/09 | 2649 | graphics/asymptote/base/patterns.asy
-2023/02/09 | 1213 | graphics/asymptote/base/plain_arcs.asy
-2023/02/09 | 19735 | graphics/asymptote/base/plain_arrows.asy
-2023/02/09 | 7634 | graphics/asymptote/base/plain.asy
-2023/02/09 | 20989 | graphics/asymptote/base/plain_bounds.asy
-2023/02/09 | 4088 | graphics/asymptote/base/plain_boxes.asy
-2023/02/09 | 3706 | graphics/asymptote/base/plain_constants.asy
-2023/02/09 | 2187 | graphics/asymptote/base/plain_debugger.asy
-2023/02/09 | 6278 | graphics/asymptote/base/plain_filldraw.asy
-2023/02/09 | 16492 | graphics/asymptote/base/plain_Label.asy
-2023/02/09 | 2310 | graphics/asymptote/base/plain_margins.asy
-2023/02/09 | 11373 | graphics/asymptote/base/plain_markers.asy
-2023/02/09 | 9334 | graphics/asymptote/base/plain_paths.asy
-2023/02/09 | 8729 | graphics/asymptote/base/plain_pens.asy
-2023/02/09 | 46531 | graphics/asymptote/base/plain_picture.asy
-2023/02/09 | 6287 | graphics/asymptote/base/plain_prethree.asy
-2023/02/09 | 5735 | graphics/asymptote/base/plain_scaling.asy
-2023/02/09 | 4487 | graphics/asymptote/base/plain_shipout.asy
-2023/02/09 | 6159 | graphics/asymptote/base/plain_strings.asy
-2023/02/09 | 354 | graphics/asymptote/base/pstoedit.asy
-2023/02/09 | 5521 | graphics/asymptote/base/rational.asy
-2023/02/09 | 10006 | graphics/asymptote/base/rationalSimplex.asy
-2023/02/09 | 657 | graphics/asymptote/base/reload.js
-2023/02/09 | 289 | graphics/asymptote/base/res/notes.txt
-2023/02/09 | 3374 | graphics/asymptote/base/roundedpath.asy
-2023/02/09 | 3346 | graphics/asymptote/base/shaders/blend.glsl
-2023/02/09 | 419 | graphics/asymptote/base/shaders/compress.glsl
-2023/02/09 | 301 | graphics/asymptote/base/shaders/count.glsl
-2023/02/09 | 6714 | graphics/asymptote/base/shaders/fragment.glsl
-2023/02/09 | 129 | graphics/asymptote/base/shaders/screen.glsl
-2023/02/09 | 730 | graphics/asymptote/base/shaders/sum1.glsl
-2023/02/09 | 1316 | graphics/asymptote/base/shaders/sum2fast.glsl
-2023/02/09 | 848 | graphics/asymptote/base/shaders/sum2.glsl
-2023/02/09 | 1752 | graphics/asymptote/base/shaders/sum3.glsl
-2023/02/09 | 677 | graphics/asymptote/base/shaders/vertex.glsl
-2023/02/09 | 192 | graphics/asymptote/base/shaders/zero.glsl
-2023/02/09 | 8403 | graphics/asymptote/base/simplex.asy
-2023/02/09 | 608 | graphics/asymptote/base/size10.asy
-2023/02/09 | 600 | graphics/asymptote/base/size11.asy
-2023/02/09 | 16089 | graphics/asymptote/base/slide.asy
-2023/02/09 | 1971 | graphics/asymptote/base/slopefield.asy
-2023/02/09 | 55991 | graphics/asymptote/base/smoothcontour3.asy
-2023/02/09 | 12012 | graphics/asymptote/base/solids.asy
-2023/02/09 | 8014 | graphics/asymptote/base/stats.asy
-2023/02/09 | 22946 | graphics/asymptote/base/syzygy.asy
-2023/02/09 | 2277 | graphics/asymptote/base/texcolors.asy
-2023/02/09 | 23717 | graphics/asymptote/base/three_arrows.asy
-2023/02/09 | 85818 | graphics/asymptote/base/three.asy
-2023/02/09 | 3719 | graphics/asymptote/base/three_light.asy
-2023/02/09 | 2492 | graphics/asymptote/base/three_margins.asy
-2023/02/09 | 72852 | graphics/asymptote/base/three_surface.asy
-2023/02/09 | 5975 | graphics/asymptote/base/three_tube.asy
-2023/02/09 | 1375 | graphics/asymptote/base/tree.asy
-2023/02/09 | 5789 | graphics/asymptote/base/trembling.asy
-2023/02/09 | 4992 | graphics/asymptote/base/tube.asy
-2023/02/09 | 15004 | graphics/asymptote/base/v3d.asy
-2023/02/09 | 1330 | graphics/asymptote/base/v3dheadertypes.asy
-2023/02/09 | 663 | graphics/asymptote/base/v3dtypes.asy
-2023/02/09 | 66482 | graphics/asymptote/base/webgl/asygl.js
-2023/02/09 | 4811 | graphics/asymptote/base/x11colors.asy
-2023/02/09 | 3640 | graphics/asymptote/bbox3.h
-2023/02/09 | 4514 | graphics/asymptote/bbox.h
-2023/02/09 | 1828 | graphics/asymptote/beziercurve.cc
-2023/02/09 | 1317 | graphics/asymptote/beziercurve.h
-2023/02/09 | 25651 | graphics/asymptote/bezierpatch.cc
-2023/02/09 | 5783 | graphics/asymptote/bezierpatch.h
+2023/06/07 | 2146 | graphics/asymptote/abs3doutfile.h
+2023/06/07 | 504 | graphics/asymptote/absyn.cc
+2023/06/07 | 1140 | graphics/asymptote/absyn.h
+2023/06/07 | 3297 | graphics/asymptote/access.cc
+2023/06/07 | 2964 | graphics/asymptote/access.h
+2023/06/07 | 2266 | graphics/asymptote/align.h
+2023/06/07 | 886 | graphics/asymptote/angle.h
+2023/06/07 | 18578 | graphics/asymptote/application.cc
+2023/06/07 | 9088 | graphics/asymptote/application.h
+2023/06/07 | 4735 | graphics/asymptote/array.cc
+2023/06/07 | 1975 | graphics/asymptote/array.h
+2023/06/07 | 13980 | graphics/asymptote/arrayop.h
+2023/06/07 | 11541 | graphics/asymptote/aspy.py
+2023/06/07 | 4286 | graphics/asymptote/asy.ico
+2023/06/07 | 17991 | graphics/asymptote/asy-keywords.el
+2023/06/07 | 209230 | graphics/asymptote/asy.list
+2023/06/07 | 1612 | graphics/asymptote/asy-list.pl
+2023/06/07 | 6370 | graphics/asymptote/asymptote.nsi
+2023/06/07 | 3204 | graphics/asymptote/asymptote.spec
+2023/06/07 | 770 | graphics/asymptote/asy.rc
+2023/06/07 | 34 | graphics/asymptote/autogen.sh
+2023/06/07 | 12534 | graphics/asymptote/ax_pthread.m4
+2023/06/07 | 42 | graphics/asymptote/base/animate.asy
+2023/06/07 | 5238 | graphics/asymptote/base/animation.asy
+2023/06/07 | 578 | graphics/asymptote/base/annotate.asy
+2023/06/07 | 99 | graphics/asymptote/base/asy_filetype.vim
+2023/06/07 | 268 | graphics/asymptote/base/asy-init.el
+2023/06/07 | 8240 | graphics/asymptote/base/asy-kate.sh
+2023/06/07 | 71368 | graphics/asymptote/base/asy-mode.el
+2023/06/07 | 1276 | graphics/asymptote/base/asymptote.py
+2023/06/07 | 13477 | graphics/asymptote/base/asy.vim
+2023/06/07 | 50 | graphics/asymptote/base/babel.asy
+2023/06/07 | 9562 | graphics/asymptote/base/bezulate.asy
+2023/06/07 | 11656 | graphics/asymptote/base/binarytree.asy
+2023/06/07 | 5279 | graphics/asymptote/base/bsp.asy
+2023/06/07 | 10840 | graphics/asymptote/base/CAD.asy
+2023/06/07 | 205495 | graphics/asymptote/base/colormap.asy
+2023/06/07 | 14749 | graphics/asymptote/base/contour3.asy
+2023/06/07 | 20277 | graphics/asymptote/base/contour.asy
+2023/06/07 | 2109 | graphics/asymptote/base/drawtree.asy
+2023/06/07 | 1178 | graphics/asymptote/base/embed.asy
+2023/06/07 | 1120 | graphics/asymptote/base/external.asy
+2023/06/07 | 21448 | graphics/asymptote/base/feynman.asy
+2023/06/07 | 15277 | graphics/asymptote/base/flowchart.asy
+2023/06/07 | 35 | graphics/asymptote/base/fontsize.asy
+2023/06/07 | 321584 | graphics/asymptote/base/geometry.asy
+2023/06/07 | 70145 | graphics/asymptote/base/graph3.asy
+2023/06/07 | 64222 | graphics/asymptote/base/graph.asy
+2023/06/07 | 314 | graphics/asymptote/base/graph_settings.asy
+2023/06/07 | 7407 | graphics/asymptote/base/graph_splinetype.asy
+2023/06/07 | 13605 | graphics/asymptote/base/grid3.asy
+2023/06/07 | 3936 | graphics/asymptote/base/interpolate.asy
+2023/06/07 | 2451 | graphics/asymptote/base/labelpath3.asy
+2023/06/07 | 729 | graphics/asymptote/base/labelpath.asy
+2023/06/07 | 25357 | graphics/asymptote/base/lmfit.asy
+2023/06/07 | 908 | graphics/asymptote/base/map.asy
+2023/06/07 | 7302 | graphics/asymptote/base/markers.asy
+2023/06/07 | 11122 | graphics/asymptote/base/math.asy
+2023/06/07 | 251 | graphics/asymptote/base/metapost.asy
+2023/06/07 | 39 | graphics/asymptote/base/nopapersize.ps
+2023/06/07 | 3278 | graphics/asymptote/base/obj.asy
+2023/06/07 | 15601 | graphics/asymptote/base/ode.asy
+2023/06/07 | 15382 | graphics/asymptote/base/palette.asy
+2023/06/07 | 2649 | graphics/asymptote/base/patterns.asy
+2023/06/07 | 1213 | graphics/asymptote/base/plain_arcs.asy
+2023/06/07 | 19735 | graphics/asymptote/base/plain_arrows.asy
+2023/06/07 | 7655 | graphics/asymptote/base/plain.asy
+2023/06/07 | 20989 | graphics/asymptote/base/plain_bounds.asy
+2023/06/07 | 4088 | graphics/asymptote/base/plain_boxes.asy
+2023/06/07 | 3706 | graphics/asymptote/base/plain_constants.asy
+2023/06/07 | 2187 | graphics/asymptote/base/plain_debugger.asy
+2023/06/07 | 6278 | graphics/asymptote/base/plain_filldraw.asy
+2023/06/07 | 16492 | graphics/asymptote/base/plain_Label.asy
+2023/06/07 | 2310 | graphics/asymptote/base/plain_margins.asy
+2023/06/07 | 11373 | graphics/asymptote/base/plain_markers.asy
+2023/06/07 | 9334 | graphics/asymptote/base/plain_paths.asy
+2023/06/07 | 8729 | graphics/asymptote/base/plain_pens.asy
+2023/06/07 | 46531 | graphics/asymptote/base/plain_picture.asy
+2023/06/07 | 6287 | graphics/asymptote/base/plain_prethree.asy
+2023/06/07 | 5735 | graphics/asymptote/base/plain_scaling.asy
+2023/06/07 | 4487 | graphics/asymptote/base/plain_shipout.asy
+2023/06/07 | 6159 | graphics/asymptote/base/plain_strings.asy
+2023/06/07 | 354 | graphics/asymptote/base/pstoedit.asy
+2023/06/07 | 5521 | graphics/asymptote/base/rational.asy
+2023/06/07 | 10006 | graphics/asymptote/base/rationalSimplex.asy
+2023/06/07 | 657 | graphics/asymptote/base/reload.js
+2023/06/07 | 289 | graphics/asymptote/base/res/notes.txt
+2023/06/07 | 3374 | graphics/asymptote/base/roundedpath.asy
+2023/06/07 | 3346 | graphics/asymptote/base/shaders/blend.glsl
+2023/06/07 | 419 | graphics/asymptote/base/shaders/compress.glsl
+2023/06/07 | 301 | graphics/asymptote/base/shaders/count.glsl
+2023/06/07 | 6709 | graphics/asymptote/base/shaders/fragment.glsl
+2023/06/07 | 129 | graphics/asymptote/base/shaders/screen.glsl
+2023/06/07 | 730 | graphics/asymptote/base/shaders/sum1.glsl
+2023/06/07 | 1316 | graphics/asymptote/base/shaders/sum2fast.glsl
+2023/06/07 | 848 | graphics/asymptote/base/shaders/sum2.glsl
+2023/06/07 | 1752 | graphics/asymptote/base/shaders/sum3.glsl
+2023/06/07 | 677 | graphics/asymptote/base/shaders/vertex.glsl
+2023/06/07 | 192 | graphics/asymptote/base/shaders/zero.glsl
+2023/06/07 | 8403 | graphics/asymptote/base/simplex.asy
+2023/06/07 | 608 | graphics/asymptote/base/size10.asy
+2023/06/07 | 600 | graphics/asymptote/base/size11.asy
+2023/06/07 | 16089 | graphics/asymptote/base/slide.asy
+2023/06/07 | 1971 | graphics/asymptote/base/slopefield.asy
+2023/06/07 | 55991 | graphics/asymptote/base/smoothcontour3.asy
+2023/06/07 | 12012 | graphics/asymptote/base/solids.asy
+2023/06/07 | 8014 | graphics/asymptote/base/stats.asy
+2023/06/07 | 22946 | graphics/asymptote/base/syzygy.asy
+2023/06/07 | 2277 | graphics/asymptote/base/texcolors.asy
+2023/06/07 | 23717 | graphics/asymptote/base/three_arrows.asy
+2023/06/07 | 85818 | graphics/asymptote/base/three.asy
+2023/06/07 | 3719 | graphics/asymptote/base/three_light.asy
+2023/06/07 | 2492 | graphics/asymptote/base/three_margins.asy
+2023/06/07 | 73662 | graphics/asymptote/base/three_surface.asy
+2023/06/07 | 6304 | graphics/asymptote/base/three_tube.asy
+2023/06/07 | 1375 | graphics/asymptote/base/tree.asy
+2023/06/07 | 5789 | graphics/asymptote/base/trembling.asy
+2023/06/07 | 4992 | graphics/asymptote/base/tube.asy
+2023/06/07 | 15192 | graphics/asymptote/base/v3d.asy
+2023/06/07 | 1330 | graphics/asymptote/base/v3dheadertypes.asy
+2023/06/07 | 663 | graphics/asymptote/base/v3dtypes.asy
+2023/06/07 | 66482 | graphics/asymptote/base/webgl/asygl.js
+2023/06/07 | 4811 | graphics/asymptote/base/x11colors.asy
+2023/06/07 | 3640 | graphics/asymptote/bbox3.h
+2023/06/07 | 4514 | graphics/asymptote/bbox.h
+2023/06/07 | 1828 | graphics/asymptote/beziercurve.cc
+2023/06/07 | 1317 | graphics/asymptote/beziercurve.h
+2023/06/07 | 25651 | graphics/asymptote/bezierpatch.cc
+2023/06/07 | 5783 | graphics/asymptote/bezierpatch.h
2022/01/31 | 3281267 | graphics/asymptote/binaries/i386-windows/cygwin1.dll
-2023/02/09 | 2505 | graphics/asymptote/binaries/i386-windows/README
-2023/02/09 | 8441856 | graphics/asymptote/binaries/i386-windows/texlive/asy.exe
+2023/06/07 | 2505 | graphics/asymptote/binaries/i386-windows/README
+2023/06/07 | 8543232 | graphics/asymptote/binaries/i386-windows/texlive/asy.exe
2020/08/06 | 297 | graphics/asymptote/binaries/i386-windows/texlive/README
2022/05/13 | 3569593 | graphics/asymptote/binaries/x86_64-windows/cygwin1.dll
-2023/02/09 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
-2023/02/09 | 8324608 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
+2023/06/07 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
+2023/06/07 | 8422912 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
2020/08/06 | 297 | graphics/asymptote/binaries/x86_64-windows/texlive/README
-2023/02/09 | 242 | graphics/asymptote/BUGS
-2023/02/09 | 1588 | graphics/asymptote/build-scripts/asy-format.el
-2023/02/09 | 210 | graphics/asymptote/build-scripts/asy-indent.el
-2023/02/09 | 1232 | graphics/asymptote/build-scripts/build-asygl
-2023/02/09 | 2471 | graphics/asymptote/build-scripts/build-asymptote
-2023/02/09 | 3583 | graphics/asymptote/build-scripts/build-asymptote.dos
-2023/02/09 | 1578 | graphics/asymptote/build-scripts/cc-format.el
-2023/02/09 | 183 | graphics/asymptote/build-scripts/cc-indent.el
-2023/02/09 | 2239 | graphics/asymptote/build-scripts/HOWTO-MSWindows
-2023/02/09 | 297 | graphics/asymptote/build-scripts/README-binaries
-2023/02/09 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
-2023/02/09 | 31342 | graphics/asymptote/builtin.cc
-2023/02/09 | 1630 | graphics/asymptote/builtin.h
-2023/02/09 | 1151 | graphics/asymptote/callable.cc
-2023/02/09 | 1640 | graphics/asymptote/callable.h
-2023/02/09 | 1190 | graphics/asymptote/camperror.cc
-2023/02/09 | 814 | graphics/asymptote/camperror.h
-2023/02/09 | 13357 | graphics/asymptote/camp.l
-2023/02/09 | 129563 | graphics/asymptote/camp.tab.cc
-2023/02/09 | 6192 | graphics/asymptote/camp.tab.h
-2023/02/09 | 20029 | graphics/asymptote/camp.y
-2023/02/09 | 4629 | graphics/asymptote/castop.h
-2023/02/09 | 1876 | graphics/asymptote/cc-mode2.el
-2023/02/09 | 1671217 | graphics/asymptote/ChangeLog
-2023/02/09 | 7790 | graphics/asymptote/coder.cc
-2023/02/09 | 11642 | graphics/asymptote/coder.h
-2023/02/09 | 1126 | graphics/asymptote/coenv.cc
-2023/02/09 | 908 | graphics/asymptote/coenv.h
-2023/02/09 | 2187 | graphics/asymptote/common.h
-2023/02/09 | 48441 | graphics/asymptote/config.guess
-2023/02/09 | 7428 | graphics/asymptote/config.h.in
-2023/02/09 | 31609 | graphics/asymptote/config.sub
-2023/02/09 | 307261 | graphics/asymptote/configure
-2023/02/09 | 17693 | graphics/asymptote/configure.ac
-2023/02/09 | 26 | graphics/asymptote/_config.yml
-2023/02/09 | 3676 | graphics/asymptote/constructor.cc
-2023/02/09 | 241 | graphics/asymptote/cudareflect/common.h
-2023/02/09 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
-2023/02/09 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
-2023/02/09 | 883 | graphics/asymptote/cudareflect/helper.cuh
-2023/02/09 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
-2023/02/09 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
-2023/02/09 | 4371 | graphics/asymptote/cudareflect/kernel.cu
-2023/02/09 | 445 | graphics/asymptote/cudareflect/kernel.h
-2023/02/09 | 7780 | graphics/asymptote/cudareflect/main.cc
-2023/02/09 | 548 | graphics/asymptote/cudareflect/Makefile
-2023/02/09 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
-2023/02/09 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
-2023/02/09 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
-2023/02/09 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
-2023/02/09 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
-2023/02/09 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
-2023/02/09 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
-2023/02/09 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
-2023/02/09 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
-2023/02/09 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
-2023/02/09 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
-2023/02/09 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
-2023/02/09 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
-2023/02/09 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
-2023/02/09 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
-2023/02/09 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
-2023/02/09 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
-2023/02/09 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
-2023/02/09 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
-2023/02/09 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
-2023/02/09 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
-2023/02/09 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
-2023/02/09 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
-2023/02/09 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
-2023/02/09 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
-2023/02/09 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
-2023/02/09 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
-2023/02/09 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
-2023/02/09 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
-2023/02/09 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
-2023/02/09 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
-2023/02/09 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
-2023/02/09 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
-2023/02/09 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
-2023/02/09 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
-2023/02/09 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
-2023/02/09 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
-2023/02/09 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
-2023/02/09 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
-2023/02/09 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
-2023/02/09 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
-2023/02/09 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
-2023/02/09 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
-2023/02/09 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
-2023/02/09 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
-2023/02/09 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
-2023/02/09 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
-2023/02/09 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
-2023/02/09 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
-2023/02/09 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
-2023/02/09 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
-2023/02/09 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
-2023/02/09 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
-2023/02/09 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
-2023/02/09 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
-2023/02/09 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
-2023/02/09 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
-2023/02/09 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
-2023/02/09 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
-2023/02/09 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
-2023/02/09 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
-2023/02/09 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
-2023/02/09 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
-2023/02/09 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
-2023/02/09 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
-2023/02/09 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
-2023/02/09 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
-2023/02/09 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
-2023/02/09 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
-2023/02/09 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
-2023/02/09 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
-2023/02/09 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
-2023/02/09 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
-2023/02/09 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
-2023/02/09 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
-2023/02/09 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
-2023/02/09 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
-2023/02/09 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
-2023/02/09 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
-2023/02/09 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
-2023/02/09 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
-2023/02/09 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
-2023/02/09 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
-2023/02/09 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
-2023/02/09 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
-2023/02/09 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
-2023/02/09 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
-2023/02/09 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
-2023/02/09 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
-2023/02/09 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
-2023/02/09 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
-2023/02/09 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
-2023/02/09 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
-2023/02/09 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
-2023/02/09 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
-2023/02/09 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
-2023/02/09 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
-2023/02/09 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
-2023/02/09 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
-2023/02/09 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
-2023/02/09 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
-2023/02/09 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
-2023/02/09 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
-2023/02/09 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
-2023/02/09 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
-2023/02/09 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
-2023/02/09 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
-2023/02/09 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
-2023/02/09 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
-2023/02/09 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
-2023/02/09 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
-2023/02/09 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
-2023/02/09 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
-2023/02/09 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
-2023/02/09 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
-2023/02/09 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
-2023/02/09 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
-2023/02/09 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
-2023/02/09 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
-2023/02/09 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
-2023/02/09 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
-2023/02/09 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
-2023/02/09 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
-2023/02/09 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
-2023/02/09 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
-2023/02/09 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
-2023/02/09 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
-2023/02/09 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
-2023/02/09 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
-2023/02/09 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
-2023/02/09 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
-2023/02/09 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
-2023/02/09 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
-2023/02/09 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
-2023/02/09 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
-2023/02/09 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
-2023/02/09 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
-2023/02/09 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
-2023/02/09 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
-2023/02/09 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
-2023/02/09 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
-2023/02/09 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
-2023/02/09 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
-2023/02/09 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
-2023/02/09 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
-2023/02/09 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
-2023/02/09 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
-2023/02/09 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
-2023/02/09 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
-2023/02/09 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
-2023/02/09 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
-2023/02/09 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
-2023/02/09 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
-2023/02/09 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
-2023/02/09 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
-2023/02/09 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
-2023/02/09 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
-2023/02/09 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
-2023/02/09 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
-2023/02/09 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
-2023/02/09 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
-2023/02/09 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
-2023/02/09 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
-2023/02/09 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
-2023/02/09 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
-2023/02/09 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
-2023/02/09 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
-2023/02/09 | 270497 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
-2023/02/09 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
-2023/02/09 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
-2023/02/09 | 1950 | graphics/asymptote/cudareflect/utils.cuh
-2023/02/09 | 26693 | graphics/asymptote/dec.cc
-2023/02/09 | 17734 | graphics/asymptote/dec.h
-2023/02/09 | 5883 | graphics/asymptote/Delaunay.cc
-2023/02/09 | 384 | graphics/asymptote/Delaunay.h
-2023/02/09 | 9690 | graphics/asymptote/doc/asy.1
-2023/02/09 | 1005 | graphics/asymptote/doc/asy.1.begin
-2023/02/09 | 333 | graphics/asymptote/doc/asy.1.end
-2023/02/09 | 2800 | graphics/asymptote/doc/asycolors.sty
-2023/02/09 | 18095 | graphics/asymptote/doc/asy-latex.dtx
-2023/02/09 | 208908 | graphics/asymptote/doc/asy-latex.pdf
-2023/02/09 | 1288667 | graphics/asymptote/doc/asymptote.pdf
-2023/02/09 | 9805 | graphics/asymptote/doc/asymptote.sty
-2023/02/09 | 395513 | graphics/asymptote/doc/asymptote.texi
-2023/02/09 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
-2023/02/09 | 20051 | graphics/asymptote/doc/asyRefCard.tex
-2023/02/09 | 246 | graphics/asymptote/doc/axis3.asy
-2023/02/09 | 416 | graphics/asymptote/doc/bezier2.asy
-2023/02/09 | 81 | graphics/asymptote/doc/bezier.asy
-2023/02/09 | 234 | graphics/asymptote/doc/beziercurve.asy
-2023/02/09 | 41 | graphics/asymptote/doc/bigdiagonal.asy
-2023/02/09 | 306 | graphics/asymptote/doc/binarytreetest.asy
-2023/02/09 | 677 | graphics/asymptote/doc/Bode.asy
-2023/02/09 | 524 | graphics/asymptote/doc/brokenaxis.asy
-2023/02/09 | 1391 | graphics/asymptote/doc/CAD1.asy
-2023/02/09 | 198487 | graphics/asymptote/doc/CAD.pdf
-2023/02/09 | 10196 | graphics/asymptote/doc/CAD.tex
-2023/02/09 | 518 | graphics/asymptote/doc/CDlabel.asy
-2023/02/09 | 4348 | graphics/asymptote/doc/colo-asy.tex
-2023/02/09 | 49 | graphics/asymptote/doc/colons.asy
-2023/02/09 | 1620 | graphics/asymptote/doc/colors.asy
-2023/02/09 | 243 | graphics/asymptote/doc/cube.asy
-2023/02/09 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
-2023/02/09 | 218 | graphics/asymptote/doc/datagraph.asy
-2023/02/09 | 24 | graphics/asymptote/doc/diagonal.asy
-2023/02/09 | 2979 | graphics/asymptote/doc/diatom.asy
-2023/02/09 | 4067 | graphics/asymptote/doc/diatom.csv
-2023/02/09 | 49 | graphics/asymptote/doc/dots.asy
-2023/02/09 | 1051 | graphics/asymptote/doc/eetomumu.asy
-2023/02/09 | 2034 | graphics/asymptote/doc/elliptic.asy
-2023/02/09 | 912 | graphics/asymptote/doc/errorbars.asy
-2023/02/09 | 202 | graphics/asymptote/doc/exp.asy
-2023/02/09 | 343 | graphics/asymptote/doc/externalprc.tex
-2023/02/09 | 19597 | graphics/asymptote/doc/external-proposal.html
-2023/02/09 | 25154 | graphics/asymptote/doc/extra/intro.asy
-2023/02/09 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
-2023/02/09 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
-2023/02/09 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
-2023/02/09 | 13663 | graphics/asymptote/doc/FAQ/install-sh
-2023/02/09 | 1000 | graphics/asymptote/doc/FAQ/Makefile
-2023/02/09 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
-2023/02/09 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
-2023/02/09 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
-2023/02/09 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
-2023/02/09 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
-2023/02/09 | 238 | graphics/asymptote/doc/filegraph.asy
-2023/02/09 | 26 | graphics/asymptote/doc/filegraph.dat
-2023/02/09 | 1053 | graphics/asymptote/doc/fillcontour.asy
-2023/02/09 | 604 | graphics/asymptote/doc/flow.asy
-2023/02/09 | 897 | graphics/asymptote/doc/flowchartdemo.asy
-2023/02/09 | 464 | graphics/asymptote/doc/GaussianSurface.asy
-2023/02/09 | 376 | graphics/asymptote/doc/generalaxis3.asy
-2023/02/09 | 277 | graphics/asymptote/doc/generalaxis.asy
-2023/02/09 | 754 | graphics/asymptote/doc/graphmarkers.asy
-2023/02/09 | 219 | graphics/asymptote/doc/graphwithderiv.asy
-2023/02/09 | 426 | graphics/asymptote/doc/grid3xyz.asy
-2023/02/09 | 279 | graphics/asymptote/doc/hatch.asy
-2023/02/09 | 423 | graphics/asymptote/doc/helix.asy
-2023/02/09 | 324 | graphics/asymptote/doc/HermiteSpline.asy
-2023/02/09 | 439 | graphics/asymptote/doc/histogram.asy
-2023/02/09 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
-2023/02/09 | 500 | graphics/asymptote/doc/Hobbydir.asy
-2023/02/09 | 378 | graphics/asymptote/doc/icon.asy
-2023/02/09 | 401 | graphics/asymptote/doc/image.asy
-2023/02/09 | 922 | graphics/asymptote/doc/imagecontour.asy
-2023/02/09 | 13663 | graphics/asymptote/doc/install-sh
-2023/02/09 | 357 | graphics/asymptote/doc/irregularcontour.asy
-2023/02/09 | 442 | graphics/asymptote/doc/join3.asy
-2023/02/09 | 261 | graphics/asymptote/doc/join.asy
-2023/02/09 | 417 | graphics/asymptote/doc/knots.asy
-2023/02/09 | 121 | graphics/asymptote/doc/labelsquare.asy
-2023/02/09 | 144 | graphics/asymptote/doc/latexmkrc
-2023/02/09 | 150 | graphics/asymptote/doc/latexmkrc_asydir
-2023/02/09 | 3125 | graphics/asymptote/doc/latexusage.tex
-2023/02/09 | 1008 | graphics/asymptote/doc/leastsquares.asy
-2023/02/09 | 6318 | graphics/asymptote/doc/leastsquares.dat
-2023/02/09 | 396 | graphics/asymptote/doc/legend.asy
-2023/02/09 | 366 | graphics/asymptote/doc/lineargraph0.asy
-2023/02/09 | 373 | graphics/asymptote/doc/lineargraph.asy
-2023/02/09 | 415 | graphics/asymptote/doc/linetype.asy
-2023/02/09 | 423 | graphics/asymptote/doc/log2graph.asy
-2023/02/09 | 262 | graphics/asymptote/doc/loggraph.asy
-2023/02/09 | 382 | graphics/asymptote/doc/loggrid.asy
-2023/02/09 | 480 | graphics/asymptote/doc/logimage.asy
-2023/02/09 | 617 | graphics/asymptote/doc/logo.asy
-2023/02/09 | 314 | graphics/asymptote/doc/logticks.asy
-2023/02/09 | 3034 | graphics/asymptote/doc/Makefile.in
-2023/02/09 | 293 | graphics/asymptote/doc/makepen.asy
-2023/02/09 | 2674 | graphics/asymptote/doc/markers1.asy
-2023/02/09 | 877 | graphics/asymptote/doc/markers2.asy
-2023/02/09 | 288 | graphics/asymptote/doc/mexicanhat.asy
-2023/02/09 | 374 | graphics/asymptote/doc/monthaxis.asy
-2023/02/09 | 458 | graphics/asymptote/doc/multicontour.asy
-2023/02/09 | 115 | graphics/asymptote/doc/onecontour.asy
-2023/02/09 | 240 | graphics/asymptote/doc/parametricgraph.asy
-2023/02/09 | 498 | graphics/asymptote/doc/penfunctionimage.asy
-2023/02/09 | 219 | graphics/asymptote/doc/penimage.asy
-2023/02/09 | 2771 | graphics/asymptote/doc/pixel.pdf
-2023/02/09 | 354 | graphics/asymptote/doc/planes.asy
-2023/02/09 | 475954 | graphics/asymptote/doc/png/asymptote.info
-2023/02/09 | 1469 | graphics/asymptote/doc/png/Makefile.in
-2023/02/09 | 49 | graphics/asymptote/doc/quartercircle.asy
-2023/02/09 | 354 | graphics/asymptote/doc/reloadpdf.tex
-2023/02/09 | 157 | graphics/asymptote/doc/saddle.asy
-2023/02/09 | 355 | graphics/asymptote/doc/scaledgraph.asy
-2023/02/09 | 792 | graphics/asymptote/doc/secondaryaxis.asy
-2023/02/09 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
-2023/02/09 | 256 | graphics/asymptote/doc/shadedtiling.asy
-2023/02/09 | 146 | graphics/asymptote/doc/slopefield1.asy
-2023/02/09 | 52 | graphics/asymptote/doc/square.asy
-2023/02/09 | 341 | graphics/asymptote/doc/subpictures.asy
-2023/02/09 | 123 | graphics/asymptote/doc/superpath.asy
-2023/02/09 | 81303 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
-2023/02/09 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
-2023/02/09 | 390 | graphics/asymptote/doc/tile.asy
-2023/02/09 | 396 | graphics/asymptote/doc/triangulate.asy
-2023/02/09 | 186 | graphics/asymptote/doc/unitcircle3.asy
-2023/02/09 | 140 | graphics/asymptote/doc/vectorfield.asy
-2023/02/09 | 1746 | graphics/asymptote/doc/westnile.asy
-2023/02/09 | 4727 | graphics/asymptote/doc/westnile.csv
-2023/02/09 | 880 | graphics/asymptote/doc/xasy.1x
-2023/02/09 | 1851 | graphics/asymptote/drawclipbegin.h
-2023/02/09 | 1197 | graphics/asymptote/drawclipend.h
-2023/02/09 | 11468 | graphics/asymptote/drawelement.h
-2023/02/09 | 4597 | graphics/asymptote/drawfill.cc
-2023/02/09 | 6525 | graphics/asymptote/drawfill.h
-2023/02/09 | 494 | graphics/asymptote/drawgrestore.h
-2023/02/09 | 2880 | graphics/asymptote/drawgroup.h
-2023/02/09 | 464 | graphics/asymptote/drawgsave.h
-2023/02/09 | 3024 | graphics/asymptote/drawimage.h
-2023/02/09 | 6787 | graphics/asymptote/drawlabel.cc
-2023/02/09 | 2134 | graphics/asymptote/drawlabel.h
-2023/02/09 | 1096 | graphics/asymptote/drawlayer.h
-2023/02/09 | 5542 | graphics/asymptote/drawpath3.cc
-2023/02/09 | 5767 | graphics/asymptote/drawpath3.h
-2023/02/09 | 4862 | graphics/asymptote/drawpath.cc
-2023/02/09 | 669 | graphics/asymptote/drawpath.h
-2023/02/09 | 24712 | graphics/asymptote/drawsurface.cc
-2023/02/09 | 23567 | graphics/asymptote/drawsurface.h
-2023/02/09 | 1266 | graphics/asymptote/drawverbatim.h
-2023/02/09 | 17987 | graphics/asymptote/entry.cc
-2023/02/09 | 13615 | graphics/asymptote/entry.h
-2023/02/09 | 5441 | graphics/asymptote/env.cc
-2023/02/09 | 1142 | graphics/asymptote/envcompleter.cc
-2023/02/09 | 845 | graphics/asymptote/envcompleter.h
-2023/02/09 | 4570 | graphics/asymptote/env.h
-2023/02/09 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
-2023/02/09 | 2279 | graphics/asymptote/errormsg.cc
-2023/02/09 | 5621 | graphics/asymptote/errormsg.h
-2023/02/09 | 9251 | graphics/asymptote/errors
-2023/02/09 | 6911 | graphics/asymptote/errortest.asy
-2023/02/09 | 43335 | graphics/asymptote/examples/100d.pdb1
-2023/02/09 | 657 | graphics/asymptote/examples/100d.views
-2023/02/09 | 163 | graphics/asymptote/examples/1overx.asy
-2023/02/09 | 4158 | graphics/asymptote/examples/advection.asy
-2023/02/09 | 375 | graphics/asymptote/examples/AiryDisk.asy
-2023/02/09 | 245 | graphics/asymptote/examples/alignbox.asy
-2023/02/09 | 2830 | graphics/asymptote/examples/alignedaxis.asy
-2023/02/09 | 946 | graphics/asymptote/examples/animations/cube.asy
-2023/02/09 | 160672 | graphics/asymptote/examples/animations/dice.u3d
-2023/02/09 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
-2023/02/09 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
-2023/02/09 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
-2023/02/09 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
-2023/02/09 | 414 | graphics/asymptote/examples/animations/glmovie.asy
-2023/02/09 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
-2023/02/09 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
-2023/02/09 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
-2023/02/09 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
-2023/02/09 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
-2023/02/09 | 856 | graphics/asymptote/examples/animations/sphere.asy
-2023/02/09 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
-2023/02/09 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
-2023/02/09 | 1149 | graphics/asymptote/examples/animations/wheel.asy
-2023/02/09 | 236 | graphics/asymptote/examples/annotation.asy
-2023/02/09 | 1240 | graphics/asymptote/examples/arrows3.asy
-2023/02/09 | 61 | graphics/asymptote/examples/axialshade.asy
-2023/02/09 | 496 | graphics/asymptote/examples/bars3.asy
-2023/02/09 | 1033 | graphics/asymptote/examples/basealign.asy
-2023/02/09 | 407 | graphics/asymptote/examples/BezierPatch.asy
-2023/02/09 | 581 | graphics/asymptote/examples/BezierSaddle.asy
-2023/02/09 | 1548 | graphics/asymptote/examples/BezierSurface.asy
-2023/02/09 | 199 | graphics/asymptote/examples/BezierTriangle.asy
-2023/02/09 | 154 | graphics/asymptote/examples/billboard.asy
-2023/02/09 | 513 | graphics/asymptote/examples/buildcycle.asy
-2023/02/09 | 233 | graphics/asymptote/examples/cardioid.asy
-2023/02/09 | 485 | graphics/asymptote/examples/cards.asy
-2023/02/09 | 688 | graphics/asymptote/examples/centroidfg.asy
-2023/02/09 | 322 | graphics/asymptote/examples/cheese.asy
-2023/02/09 | 576 | graphics/asymptote/examples/circles.asy
-2023/02/09 | 228 | graphics/asymptote/examples/circumcircle.asy
-2023/02/09 | 762 | graphics/asymptote/examples/clockarray.asy
-2023/02/09 | 264 | graphics/asymptote/examples/coag.asy
-2023/02/09 | 436 | graphics/asymptote/examples/colorpatch.asy
-2023/02/09 | 472 | graphics/asymptote/examples/colorplanes.asy
-2023/02/09 | 739 | graphics/asymptote/examples/condor.asy
-2023/02/09 | 495 | graphics/asymptote/examples/cones.asy
-2023/02/09 | 1778 | graphics/asymptote/examples/conicurv.asy
-2023/02/09 | 254 | graphics/asymptote/examples/contextfonts.asy
-2023/02/09 | 802 | graphics/asymptote/examples/controlsystem.asy
-2023/02/09 | 123 | graphics/asymptote/examples/Coons.asy
-2023/02/09 | 235 | graphics/asymptote/examples/cos2theta.asy
-2023/02/09 | 582 | graphics/asymptote/examples/cos3.asy
-2023/02/09 | 460 | graphics/asymptote/examples/cosaddition.asy
-2023/02/09 | 5537 | graphics/asymptote/examples/cpkcolors.asy
-2023/02/09 | 572 | graphics/asymptote/examples/curvedlabel3.asy
-2023/02/09 | 177 | graphics/asymptote/examples/curvedlabel.asy
-2023/02/09 | 1835 | graphics/asymptote/examples/cyclohexane.asy
-2023/02/09 | 352 | graphics/asymptote/examples/cylinder.asy
-2023/02/09 | 506 | graphics/asymptote/examples/delu.asy
-2023/02/09 | 509 | graphics/asymptote/examples/dimension.asy
-2023/02/09 | 1216 | graphics/asymptote/examples/dragon.asy
-2023/02/09 | 1298 | graphics/asymptote/examples/electromagnetic.asy
-2023/02/09 | 325 | graphics/asymptote/examples/elevation.asy
-2023/02/09 | 398 | graphics/asymptote/examples/epix.asy
-2023/02/09 | 242 | graphics/asymptote/examples/equilateral.asy
-2023/02/09 | 548 | graphics/asymptote/examples/equilchord.asy
-2023/02/09 | 579 | graphics/asymptote/examples/exp3.asy
-2023/02/09 | 519 | graphics/asymptote/examples/extrudedcontour.asy
-2023/02/09 | 498 | graphics/asymptote/examples/fano.asy
-2023/02/09 | 973 | graphics/asymptote/examples/fequlogo.asy
-2023/02/09 | 727 | graphics/asymptote/examples/fermi.asy
-2023/02/09 | 978 | graphics/asymptote/examples/filesurface.asy
-2023/02/09 | 5531 | graphics/asymptote/examples/filesurface.dat
-2023/02/09 | 4244 | graphics/asymptote/examples/fin.asy
-2023/02/09 | 710 | graphics/asymptote/examples/fjortoft.asy
-2023/02/09 | 558 | graphics/asymptote/examples/floatingdisk.asy
-2023/02/09 | 500 | graphics/asymptote/examples/floor.asy
-2023/02/09 | 683 | graphics/asymptote/examples/fractaltree.asy
-2023/02/09 | 1185 | graphics/asymptote/examples/functionshading.asy
-2023/02/09 | 499 | graphics/asymptote/examples/galleon.asy
-2023/02/09 | 713 | graphics/asymptote/examples/gamma3.asy
-2023/02/09 | 439 | graphics/asymptote/examples/gamma.asy
-2023/02/09 | 679 | graphics/asymptote/examples/genusthree.asy
-2023/02/09 | 1164 | graphics/asymptote/examples/genustwo.asy
-2023/02/09 | 383 | graphics/asymptote/examples/Gouraud.asy
-2023/02/09 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
-2023/02/09 | 76 | graphics/asymptote/examples/grid.asy
-2023/02/09 | 459 | graphics/asymptote/examples/hierarchy.asy
-2023/02/09 | 315 | graphics/asymptote/examples/hyperboloid.asy
-2023/02/09 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
-2023/02/09 | 1111 | graphics/asymptote/examples/imagehistogram.asy
-2023/02/09 | 610 | graphics/asymptote/examples/impact.asy
-2023/02/09 | 598 | graphics/asymptote/examples/integraltest.asy
-2023/02/09 | 4809 | graphics/asymptote/examples/interpolate1.asy
-2023/02/09 | 289 | graphics/asymptote/examples/jump.asy
-2023/02/09 | 1352 | graphics/asymptote/examples/Klein.asy
-2023/02/09 | 182 | graphics/asymptote/examples/label3.asy
-2023/02/09 | 196 | graphics/asymptote/examples/label3ribbon.asy
-2023/02/09 | 187 | graphics/asymptote/examples/label3solid.asy
-2023/02/09 | 632 | graphics/asymptote/examples/label3zoom.asy
-2023/02/09 | 264 | graphics/asymptote/examples/labelbox.asy
-2023/02/09 | 1114 | graphics/asymptote/examples/laserlattice.asy
-2023/02/09 | 136 | graphics/asymptote/examples/latticeshading.asy
-2023/02/09 | 690 | graphics/asymptote/examples/layers.asy
-2023/02/09 | 460 | graphics/asymptote/examples/lever.asy
-2023/02/09 | 654 | graphics/asymptote/examples/limit.asy
-2023/02/09 | 1910 | graphics/asymptote/examples/linearregression.asy
-2023/02/09 | 168 | graphics/asymptote/examples/lines.asy
-2023/02/09 | 1040 | graphics/asymptote/examples/lmfit1.asy
-2023/02/09 | 206 | graphics/asymptote/examples/log.asy
-2023/02/09 | 349 | graphics/asymptote/examples/logdown.asy
-2023/02/09 | 1461 | graphics/asymptote/examples/logo3.asy
-2023/02/09 | 196 | graphics/asymptote/examples/lowint.asy
-2023/02/09 | 657 | graphics/asymptote/examples/lowupint.asy
-2023/02/09 | 479 | graphics/asymptote/examples/magnetic.asy
-2023/02/09 | 879 | graphics/asymptote/examples/markregular.asy
-2023/02/09 | 1968 | graphics/asymptote/examples/mergeExample.asy
-2023/02/09 | 5216 | graphics/asymptote/examples/mosaic.asy
-2023/02/09 | 2504 | graphics/asymptote/examples/mosquito.asy
-2023/02/09 | 1566 | graphics/asymptote/examples/near_earth.asy
-2023/02/09 | 703 | graphics/asymptote/examples/NURBScurve.asy
-2023/02/09 | 1088 | graphics/asymptote/examples/NURBSsphere.asy
-2023/02/09 | 1598 | graphics/asymptote/examples/NURBSsurface.asy
-2023/02/09 | 1251 | graphics/asymptote/examples/odetest.asy
-2023/02/09 | 308 | graphics/asymptote/examples/oneoverx.asy
-2023/02/09 | 810 | graphics/asymptote/examples/orthocenter.asy
-2023/02/09 | 254 | graphics/asymptote/examples/parametricelevation.asy
-2023/02/09 | 407 | graphics/asymptote/examples/parametricsurface.asy
-2023/02/09 | 711 | graphics/asymptote/examples/partialsurface.asy
-2023/02/09 | 1055 | graphics/asymptote/examples/partitionExample.asy
-2023/02/09 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
-2023/02/09 | 3335 | graphics/asymptote/examples/pdb.asy
-2023/02/09 | 361 | graphics/asymptote/examples/phase.asy
-2023/02/09 | 22873 | graphics/asymptote/examples/piicon.png
-2023/02/09 | 362 | graphics/asymptote/examples/pipeintersection.asy
-2023/02/09 | 3857 | graphics/asymptote/examples/pipes.asy
-2023/02/09 | 418 | graphics/asymptote/examples/planeproject.asy
-2023/02/09 | 930 | graphics/asymptote/examples/polararea.asy
-2023/02/09 | 628 | graphics/asymptote/examples/polarcircle.asy
-2023/02/09 | 326 | graphics/asymptote/examples/polardatagraph.asy
-2023/02/09 | 641 | graphics/asymptote/examples/pOrbital.asy
-2023/02/09 | 954 | graphics/asymptote/examples/poster.asy
-2023/02/09 | 58 | graphics/asymptote/examples/progrid.asy
-2023/02/09 | 373 | graphics/asymptote/examples/projectelevation.asy
-2023/02/09 | 427 | graphics/asymptote/examples/projectrevolution.asy
-2023/02/09 | 747 | graphics/asymptote/examples/pseudosphere.asy
-2023/02/09 | 557 | graphics/asymptote/examples/Pythagoras.asy
-2023/02/09 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
-2023/02/09 | 734 | graphics/asymptote/examples/quilt.asy
-2023/02/09 | 345 | graphics/asymptote/examples/rainbow.asy
-2023/02/09 | 78 | graphics/asymptote/examples/randompath3.asy
-2023/02/09 | 1537 | graphics/asymptote/examples/refs.bib
-2023/02/09 | 990 | graphics/asymptote/examples/RiemannSphere.asy
-2023/02/09 | 348 | graphics/asymptote/examples/RiemannSurface.asy
-2023/02/09 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
-2023/02/09 | 141 | graphics/asymptote/examples/ring.asy
-2023/02/09 | 184 | graphics/asymptote/examples/roll.asy
-2023/02/09 | 1309 | graphics/asymptote/examples/roundpath.asy
-2023/02/09 | 288 | graphics/asymptote/examples/sacone3D.asy
-2023/02/09 | 445 | graphics/asymptote/examples/sacone.asy
-2023/02/09 | 341 | graphics/asymptote/examples/sacylinder3D.asy
-2023/02/09 | 400 | graphics/asymptote/examples/sacylinder.asy
-2023/02/09 | 66 | graphics/asymptote/examples/shade.asy
-2023/02/09 | 111 | graphics/asymptote/examples/shadestroke.asy
-2023/02/09 | 1065 | graphics/asymptote/examples/shellmethod.asy
-2023/02/09 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
-2023/02/09 | 410 | graphics/asymptote/examples/Sierpinski.asy
-2023/02/09 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
-2023/02/09 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
-2023/02/09 | 327 | graphics/asymptote/examples/sin1x.asy
-2023/02/09 | 579 | graphics/asymptote/examples/sin3.asy
-2023/02/09 | 591 | graphics/asymptote/examples/sinc.asy
-2023/02/09 | 378 | graphics/asymptote/examples/sinxlex.asy
-2023/02/09 | 3358 | graphics/asymptote/examples/slidedemo.asy
-2023/02/09 | 341 | graphics/asymptote/examples/slidedemo_.bbl
-2023/02/09 | 2023 | graphics/asymptote/examples/slope.asy
-2023/02/09 | 520 | graphics/asymptote/examples/smoothelevation.asy
-2023/02/09 | 2680 | graphics/asymptote/examples/soccerball.asy
-2023/02/09 | 2362 | graphics/asymptote/examples/spectrum.asy
-2023/02/09 | 141 | graphics/asymptote/examples/sphere.asy
-2023/02/09 | 150 | graphics/asymptote/examples/spheresilhouette.asy
-2023/02/09 | 162 | graphics/asymptote/examples/sphereskeleton.asy
-2023/02/09 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
-2023/02/09 | 424 | graphics/asymptote/examples/spiral3.asy
-2023/02/09 | 210 | graphics/asymptote/examples/spiral.asy
-2023/02/09 | 608 | graphics/asymptote/examples/spline.asy
-2023/02/09 | 2191 | graphics/asymptote/examples/splitpatch.asy
-2023/02/09 | 38 | graphics/asymptote/examples/spring0.asy
-2023/02/09 | 43 | graphics/asymptote/examples/spring2.asy
-2023/02/09 | 667 | graphics/asymptote/examples/spring.asy
-2023/02/09 | 674 | graphics/asymptote/examples/sqrtx01.asy
-2023/02/09 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
-2023/02/09 | 145 | graphics/asymptote/examples/star.asy
-2023/02/09 | 162 | graphics/asymptote/examples/stereoscopic.asy
-2023/02/09 | 59 | graphics/asymptote/examples/stroke3.asy
-2023/02/09 | 300 | graphics/asymptote/examples/strokepath.asy
-2023/02/09 | 175 | graphics/asymptote/examples/strokeshade.asy
-2023/02/09 | 198 | graphics/asymptote/examples/tanh.asy
-2023/02/09 | 14378 | graphics/asymptote/examples/teapot.asy
-2023/02/09 | 34 | graphics/asymptote/examples/teapotIBL.asy
-2023/02/09 | 303 | graphics/asymptote/examples/tensor.asy
-2023/02/09 | 547 | graphics/asymptote/examples/tetra.asy
-2023/02/09 | 312 | graphics/asymptote/examples/textpath.asy
-2023/02/09 | 8429 | graphics/asymptote/examples/thermodynamics.asy
-2023/02/09 | 576 | graphics/asymptote/examples/threeviews.asy
-2023/02/09 | 104 | graphics/asymptote/examples/tiling.asy
-2023/02/09 | 419 | graphics/asymptote/examples/torus.asy
-2023/02/09 | 188 | graphics/asymptote/examples/transparency.asy
-2023/02/09 | 250 | graphics/asymptote/examples/transparentCubes.asy
-2023/02/09 | 602 | graphics/asymptote/examples/treetest.asy
-2023/02/09 | 589 | graphics/asymptote/examples/trefoilknot.asy
-2023/02/09 | 987 | graphics/asymptote/examples/triads.asy
-2023/02/09 | 207 | graphics/asymptote/examples/triangle.asy
-2023/02/09 | 441 | graphics/asymptote/examples/triangles.asy
-2023/02/09 | 251 | graphics/asymptote/examples/triceratops.asy
-2023/02/09 | 291 | graphics/asymptote/examples/trumpet.asy
-2023/02/09 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
-2023/02/09 | 40665 | graphics/asymptote/examples/tvgen.asy
-2023/02/09 | 868 | graphics/asymptote/examples/twistedtubes.asy
-2023/02/09 | 433 | graphics/asymptote/examples/twoSpheres.asy
-2023/02/09 | 24924 | graphics/asymptote/examples/uhrturm.obj
-2023/02/09 | 322 | graphics/asymptote/examples/unitcircle.asy
-2023/02/09 | 430 | graphics/asymptote/examples/unitoctant.asy
-2023/02/09 | 714 | graphics/asymptote/examples/unitoctantx.asy
-2023/02/09 | 199 | graphics/asymptote/examples/upint.asy
-2023/02/09 | 525 | graphics/asymptote/examples/vectorfield3.asy
-2023/02/09 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
-2023/02/09 | 839 | graphics/asymptote/examples/venn3.asy
-2023/02/09 | 626 | graphics/asymptote/examples/venn.asy
-2023/02/09 | 802 | graphics/asymptote/examples/vertexshading.asy
-2023/02/09 | 714 | graphics/asymptote/examples/Viviani.asy
-2023/02/09 | 360 | graphics/asymptote/examples/washer.asy
-2023/02/09 | 1010 | graphics/asymptote/examples/washermethod.asy
-2023/02/09 | 628 | graphics/asymptote/examples/wedge.asy
-2023/02/09 | 1030 | graphics/asymptote/examples/workcone.asy
-2023/02/09 | 978 | graphics/asymptote/examples/worksheet.asy
-2023/02/09 | 2626 | graphics/asymptote/examples/worldmap.asy
-2023/02/09 | 1261761 | graphics/asymptote/examples/worldmap.dat
-2023/02/09 | 580 | graphics/asymptote/examples/xsin1x.asy
-2023/02/09 | 3739 | graphics/asymptote/examples/xstitch.asy
-2023/02/09 | 743 | graphics/asymptote/examples/xxsq01.asy
-2023/02/09 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
-2023/02/09 | 825 | graphics/asymptote/examples/xxsq01y.asy
-2023/02/09 | 222 | graphics/asymptote/examples/yingyang.asy
-2023/02/09 | 37889 | graphics/asymptote/exp.cc
-2023/02/09 | 30307 | graphics/asymptote/exp.h
-2023/02/09 | 1188 | graphics/asymptote/EXRFiles.cc
-2023/02/09 | 454 | graphics/asymptote/EXRFiles.h
-2023/02/09 | 178 | graphics/asymptote/fftw++asy.cc
-2023/02/09 | 1794 | graphics/asymptote/fftw++.cc
-2023/02/09 | 43960 | graphics/asymptote/fftw++.h
-2023/02/09 | 4866 | graphics/asymptote/fileio.cc
-2023/02/09 | 21360 | graphics/asymptote/fileio.h
-2023/02/09 | 1245 | graphics/asymptote/findsym.pl
-2023/02/09 | 1020 | graphics/asymptote/flatguide.cc
-2023/02/09 | 4209 | graphics/asymptote/flatguide.h
-2023/02/09 | 654 | graphics/asymptote/fpu.h
-2023/02/09 | 2164 | graphics/asymptote/frame.h
-2023/02/09 | 9772 | graphics/asymptote/fundec.cc
-2023/02/09 | 4895 | graphics/asymptote/fundec.h
-2023/02/09 | 1183225 | graphics/asymptote/gc-8.2.0.tar.gz
-2023/02/09 | 6425 | graphics/asymptote/generate_enums.py
-2023/02/09 | 3153 | graphics/asymptote/genv.cc
-2023/02/09 | 1626 | graphics/asymptote/genv.h
-2023/02/09 | 4520 | graphics/asymptote/getopt1.c
-2023/02/09 | 30147 | graphics/asymptote/getopt.c
-2023/02/09 | 6650 | graphics/asymptote/getopt.h
-2023/02/09 | 202 | graphics/asymptote/glew.c
-2023/02/09 | 1235678 | graphics/asymptote/GL/glew.c
-2023/02/09 | 1186601 | graphics/asymptote/GL/glew.h
-2023/02/09 | 73435 | graphics/asymptote/GL/glxew.h
-2023/02/09 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
-2023/02/09 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
-2023/02/09 | 66140 | graphics/asymptote/glrender.cc
-2023/02/09 | 9319 | graphics/asymptote/glrender.h
-2023/02/09 | 818 | graphics/asymptote/GLTextures.cc
-2023/02/09 | 3634 | graphics/asymptote/GLTextures.h
-2023/02/09 | 63314 | graphics/asymptote/GL/wglew.h
-2023/02/09 | 50437 | graphics/asymptote/gsl.cc
-2023/02/09 | 22 | graphics/asymptote/GUI/configs/__init__.py
-2023/02/09 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
-2023/02/09 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
-2023/02/09 | 13787 | graphics/asymptote/GUI/ContextWindow.py
-2023/02/09 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
-2023/02/09 | 100 | graphics/asymptote/GUI/DebugFlags.py
-2023/02/09 | 1149 | graphics/asymptote/guide.cc
-2023/02/09 | 294 | graphics/asymptote/guideflags.h
-2023/02/09 | 6725 | graphics/asymptote/guide.h
-2023/02/09 | 1751 | graphics/asymptote/GUI/GuidesManager.py
-2023/02/09 | 175503 | graphics/asymptote/GUI/icons_rc.py
-2023/02/09 | 23 | graphics/asymptote/GUI/__init__.py
-2023/02/09 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
-2023/02/09 | 5272 | graphics/asymptote/GUI/labelEditor.py
-2023/02/09 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
-2023/02/09 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
-2023/02/09 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
-2023/02/09 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
-2023/02/09 | 2948 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
-2023/02/09 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
-2023/02/09 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
-2023/02/09 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
-2023/02/09 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
-2023/02/09 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
-2023/02/09 | 57 | graphics/asymptote/GUI/requirements.txt
-2023/02/09 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
-2023/02/09 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
-2023/02/09 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
-2023/02/09 | 790 | graphics/asymptote/GUI/res/icons/android-camera.svg
-2023/02/09 | 683 | graphics/asymptote/GUI/res/icons/android-close.svg
-2023/02/09 | 1302 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
-2023/02/09 | 664 | graphics/asymptote/GUI/res/icons/android-delete.svg
-2023/02/09 | 620 | graphics/asymptote/GUI/res/icons/android-done.svg
-2023/02/09 | 810 | graphics/asymptote/GUI/res/icons/android-expand.svg
-2023/02/09 | 840 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
-2023/02/09 | 1467 | graphics/asymptote/GUI/res/icons/android-hand.svg
-2023/02/09 | 1108 | graphics/asymptote/GUI/res/icons/android-locate.svg
-2023/02/09 | 752 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
-2023/02/09 | 831 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
-2023/02/09 | 795 | graphics/asymptote/GUI/res/icons/android-refresh.svg
-2023/02/09 | 705 | graphics/asymptote/GUI/res/icons/arrow-move.svg
-2023/02/09 | 631 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
-2023/02/09 | 986 | graphics/asymptote/GUI/res/icons/brush.svg
-2023/02/09 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
-2023/02/09 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
-2023/02/09 | 111 | graphics/asymptote/GUI/res/icons/center.asy
-2023/02/09 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
-2023/02/09 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
-2023/02/09 | 858 | graphics/asymptote/GUI/res/icons/center.svg
-2023/02/09 | 771 | graphics/asymptote/GUI/res/icons/check.svg
-2023/02/09 | 1000 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
-2023/02/09 | 985 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
-2023/02/09 | 743 | graphics/asymptote/GUI/res/icons/circle.svg
-2023/02/09 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
-2023/02/09 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
-2023/02/09 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
-2023/02/09 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
-2023/02/09 | 829 | graphics/asymptote/GUI/res/icons/close-round.svg
-2023/02/09 | 1180 | graphics/asymptote/GUI/res/icons/code.svg
-2023/02/09 | 863 | graphics/asymptote/GUI/res/icons/edit.svg
-2023/02/09 | 988 | graphics/asymptote/GUI/res/icons/eye.svg
-2023/02/09 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
-2023/02/09 | 1732 | graphics/asymptote/GUI/res/icons/grid.svg
-2023/02/09 | 951 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
-2023/02/09 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
-2023/02/09 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
-2023/02/09 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
-2023/02/09 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
-2023/02/09 | 750 | graphics/asymptote/GUI/res/icons/plus-round.svg
-2023/02/09 | 1808 | graphics/asymptote/GUI/res/icons.qrc
-2023/02/09 | 1090 | graphics/asymptote/GUI/res/icons/redo.svg
-2023/02/09 | 663 | graphics/asymptote/GUI/res/icons/save.svg
-2023/02/09 | 1899 | graphics/asymptote/GUI/res/icons/social-python.svg
-2023/02/09 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
-2023/02/09 | 284 | graphics/asymptote/GUI/res/icons/text.svg
-2023/02/09 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
-2023/02/09 | 1047 | graphics/asymptote/GUI/res/icons/undo.svg
-2023/02/09 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
-2023/02/09 | 393 | graphics/asymptote/GUI/setup.py
-2023/02/09 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
-2023/02/09 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
-2023/02/09 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
-2023/02/09 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
-2023/02/09 | 98084 | graphics/asymptote/GUI/Window1.py
-2023/02/09 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
-2023/02/09 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
-2023/02/09 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
-2023/02/09 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
-2023/02/09 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
-2023/02/09 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
-2023/02/09 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
-2023/02/09 | 79003 | graphics/asymptote/GUI/windows/window1.ui
-2023/02/09 | 67146 | graphics/asymptote/GUI/xasy2asy.py
-2023/02/09 | 1183 | graphics/asymptote/GUI/xasyArgs.py
-2023/02/09 | 13816 | graphics/asymptote/GUI/xasyBezierInterface.py
-2023/02/09 | 4766 | graphics/asymptote/GUI/xasyFile.py
-2023/02/09 | 6717 | graphics/asymptote/GUI/xasyOptions.py
-2023/02/09 | 611 | graphics/asymptote/GUI/xasy.py
-2023/02/09 | 586 | graphics/asymptote/GUI/xasyStrings.py
-2023/02/09 | 733 | graphics/asymptote/GUI/xasySvg.py
-2023/02/09 | 1015 | graphics/asymptote/GUI/xasyTransform.py
-2023/02/09 | 1542 | graphics/asymptote/GUI/xasyUtils.py
-2023/02/09 | 238 | graphics/asymptote/GUI/xasyValidator.py
-2023/02/09 | 12823 | graphics/asymptote/impdatum.cc
-2023/02/09 | 127 | graphics/asymptote/index.html
-2023/02/09 | 10445 | graphics/asymptote/INSTALL
-2023/02/09 | 15645 | graphics/asymptote/install-sh
-2023/02/09 | 1982 | graphics/asymptote/inst.h
-2023/02/09 | 5689 | graphics/asymptote/interact.cc
-2023/02/09 | 1345 | graphics/asymptote/interact.h
-2023/02/09 | 5733 | graphics/asymptote/item.h
-2023/02/09 | 11221 | graphics/asymptote/jsfile.cc
-2023/02/09 | 2623 | graphics/asymptote/jsfile.h
-2023/02/09 | 609 | graphics/asymptote/keywords.cc
-2023/02/09 | 1253 | graphics/asymptote/keywords.pl
-2023/02/09 | 22345 | graphics/asymptote/knot.cc
-2023/02/09 | 12259 | graphics/asymptote/knot.h
-2023/02/09 | 342 | graphics/asymptote/lexical.h
-2023/02/09 | 83449 | graphics/asymptote/lex.yy.cc
-2023/02/09 | 506313 | graphics/asymptote/libatomic_ops-7.6.12.tar.gz
-2023/02/09 | 35147 | graphics/asymptote/LICENSE
-2023/02/09 | 7639 | graphics/asymptote/LICENSE.LESSER
-2023/02/09 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
-2023/02/09 | 2194 | graphics/asymptote/locate.cc
-2023/02/09 | 631 | graphics/asymptote/locate.h
-2023/02/09 | 12011 | graphics/asymptote/LspCpp/CMakeLists.txt
-2023/02/09 | 6593 | graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
-2023/02/09 | 4904 | graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
-2023/02/09 | 6915 | graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
-2023/02/09 | 8092 | graphics/asymptote/LspCpp/examples/WebsocketExample.cpp
-2023/02/09 | 492 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Cancellation.h
-2023/02/09 | 1480 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Condition.h
-2023/02/09 | 7671 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Context.h
-2023/02/09 | 1831 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Endpoint.h
-2023/02/09 | 5114 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/future.h
-2023/02/09 | 217 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/GCThreadContext.h
-2023/02/09 | 2901 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/json.h
-2023/02/09 | 1545 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsRequestId.h
-2023/02/09 | 2013 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsResponseMessage.h
-2023/02/09 | 30638 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/macro_map.h
-2023/02/09 | 751 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/message.h
-2023/02/09 | 6964 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageIssue.h
-2023/02/09 | 2418 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageJsonHandler.h
-2023/02/09 | 260 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageProducer.h
-2023/02/09 | 1832 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/NotificationInMessage.h
-2023/02/09 | 14139 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RemoteEndPoint.h
-2023/02/09 | 2205 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RequestInMessage.h
-2023/02/09 | 1765 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/ScopeExit.h
-2023/02/09 | 11656 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
-2023/02/09 | 5366 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/stream.h
-2023/02/09 | 1299 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/StreamMessageProducer.h
-2023/02/09 | 1182 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/TcpServer.h
-2023/02/09 | 6623 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
-2023/02/09 | 6369 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/traits.h
-2023/02/09 | 2424 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/WebSocketServer.h
-2023/02/09 | 790 | graphics/asymptote/LspCpp/include/LibLsp/lsp/AbsolutePath.h
-2023/02/09 | 11801 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
-2023/02/09 | 1658 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/registerCapability.h
-2023/02/09 | 1103 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/unregisterCapability.h
-2023/02/09 | 3477 | graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
-2023/02/09 | 264 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Directory.h
-2023/02/09 | 663 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
-2023/02/09 | 646 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
-2023/02/09 | 390 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/buildWorkspace.h
-2023/02/09 | 891 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
-2023/02/09 | 869 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
-2023/02/09 | 1142 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
-2023/02/09 | 722 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
-2023/02/09 | 294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/classFileContents.h
-2023/02/09 | 1158 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/codeActionResult.h
-2023/02/09 | 973 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/executeCommand.h
-2023/02/09 | 606 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/findLinks.h
-2023/02/09 | 586 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateAccessors.h
-2023/02/09 | 645 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateConstructors.h
-2023/02/09 | 870 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
-2023/02/09 | 822 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
-2023/02/09 | 533 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateToString.h
-2023/02/09 | 2016 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
-2023/02/09 | 2374 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
-2023/02/09 | 325 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
-2023/02/09 | 320 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/Move.h
-2023/02/09 | 301 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/organizeImports.h
-2023/02/09 | 1075 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/OverridableMethod.h
-2023/02/09 | 309 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
-2023/02/09 | 846 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
-2023/02/09 | 750 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
-2023/02/09 | 243 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
-2023/02/09 | 5319 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
-2023/02/09 | 203 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
-2023/02/09 | 482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialized.h
-2023/02/09 | 1391 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialize.h
-2023/02/09 | 3453 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
-2023/02/09 | 1219 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
-2023/02/09 | 21996 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
-2023/02/09 | 24589 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
-2023/02/09 | 7670 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
-2023/02/09 | 714 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
-2023/02/09 | 487 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
-2023/02/09 | 5818 | graphics/asymptote/LspCpp/include/LibLsp/lsp/IProgressMonitor.h
-2023/02/09 | 3533 | graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
-2023/02/09 | 2040 | graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
-2023/02/09 | 4118 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lru_cache.h
-2023/02/09 | 4789 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
-2023/02/09 | 1396 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
-2023/02/09 | 1482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
-2023/02/09 | 881 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsDocumentUri.h
-2023/02/09 | 1438 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
-2023/02/09 | 1181 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
-2023/02/09 | 1579 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_code_action.h
-2023/02/09 | 7331 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
-2023/02/09 | 4021 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
-2023/02/09 | 1291 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsPosition.h
-2023/02/09 | 941 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsRange.h
-2023/02/09 | 3637 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
-2023/02/09 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentEdit.h
-2023/02/09 | 453 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentIdentifier.h
-2023/02/09 | 747 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentItem.h
-2023/02/09 | 721 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
-2023/02/09 | 2709 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
-2023/02/09 | 1190 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
-2023/02/09 | 2650 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
-2023/02/09 | 3915 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/Markup.h
-2023/02/09 | 45222 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/string_ref.h
-2023/02/09 | 74 | graphics/asymptote/LspCpp/include/LibLsp/lsp/method_type.h
-2023/02/09 | 594 | graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
-2023/02/09 | 376 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ParentProcessWatcher.h
-2023/02/09 | 1318 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProcessIoService.h
-2023/02/09 | 218 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProtocolJsonHandler.h
-2023/02/09 | 3141 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
-2023/02/09 | 1192 | graphics/asymptote/LspCpp/include/LibLsp/lsp/SimpleTimer.h
-2023/02/09 | 4760 | graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
-2023/02/09 | 4131 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
-2023/02/09 | 2787 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_action.h
-2023/02/09 | 1184 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
-2023/02/09 | 1819 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/colorPresentation.h
-2023/02/09 | 2527 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
-2023/02/09 | 934 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/declaration_definition.h
-2023/02/09 | 1659 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
-2023/02/09 | 800 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_close.h
-2023/02/09 | 931 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
-2023/02/09 | 1189 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
-2023/02/09 | 815 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
-2023/02/09 | 2182 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/documentColor.h
-2023/02/09 | 1249 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
-2023/02/09 | 1843 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
-2023/02/09 | 1875 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/foldingRange.h
-2023/02/09 | 848 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/formatting.h
-2023/02/09 | 573 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/highlight.h
-2023/02/09 | 1852 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
-2023/02/09 | 488 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/implementation.h
-2023/02/09 | 1435 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
-2023/02/09 | 1138 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/onTypeFormatting.h
-2023/02/09 | 1079 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
-2023/02/09 | 770 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/publishDiagnostics.h
-2023/02/09 | 900 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/range_formatting.h
-2023/02/09 | 1250 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
-2023/02/09 | 1147 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/rename.h
-2023/02/09 | 223 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCodeLens.h
-2023/02/09 | 489 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCompletionItem.h
-2023/02/09 | 880 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
-2023/02/09 | 1564 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
-2023/02/09 | 2868 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/semanticHighlighting.h
-2023/02/09 | 11269 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
-2023/02/09 | 3419 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
-2023/02/09 | 498 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/type_definition.h
-2023/02/09 | 4730 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
-2023/02/09 | 2189 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
-2023/02/09 | 4898 | graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
-2023/02/09 | 2407 | graphics/asymptote/LspCpp/include/LibLsp/lsp/windows/MessageNotify.h
-2023/02/09 | 2161 | graphics/asymptote/LspCpp/include/LibLsp/lsp/working_files.h
-2023/02/09 | 1175 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
-2023/02/09 | 1239 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h
-2023/02/09 | 615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_configuration.h
-2023/02/09 | 1352 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_watched_files.h
-2023/02/09 | 1423 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
-2023/02/09 | 794 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/execute_command.h
-2023/02/09 | 428 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/symbol.h
-2023/02/09 | 1022 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
-2023/02/09 | 1066 | graphics/asymptote/LspCpp/LICENSE
-2023/02/09 | 1203 | graphics/asymptote/LspCpp/README.md
-2023/02/09 | 964 | graphics/asymptote/LspCpp/src/jsonrpc/Context.cpp
-2023/02/09 | 1388 | graphics/asymptote/LspCpp/src/jsonrpc/Endpoint.cpp
-2023/02/09 | 277 | graphics/asymptote/LspCpp/src/jsonrpc/GCThreadContext.cpp
-2023/02/09 | 2804 | graphics/asymptote/LspCpp/src/jsonrpc/message.cpp
-2023/02/09 | 1532 | graphics/asymptote/LspCpp/src/jsonrpc/MessageJsonHandler.cpp
-2023/02/09 | 24091 | graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
-2023/02/09 | 5242 | graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
-2023/02/09 | 7133 | graphics/asymptote/LspCpp/src/jsonrpc/StreamMessageProducer.cpp
-2023/02/09 | 9641 | graphics/asymptote/LspCpp/src/jsonrpc/TcpServer.cpp
-2023/02/09 | 465 | graphics/asymptote/LspCpp/src/jsonrpc/threaded_queue.cpp
-2023/02/09 | 10632 | graphics/asymptote/LspCpp/src/jsonrpc/WebSocketServer.cpp
-2023/02/09 | 1390 | graphics/asymptote/LspCpp/src/lsp/initialize.cpp
-2023/02/09 | 30730 | graphics/asymptote/LspCpp/src/lsp/lsp.cpp
-2023/02/09 | 2289 | graphics/asymptote/LspCpp/src/lsp/lsp_diagnostic.cpp
-2023/02/09 | 33741 | graphics/asymptote/LspCpp/src/lsp/Markup.cpp
-2023/02/09 | 4269 | graphics/asymptote/LspCpp/src/lsp/ParentProcessWatcher.cpp
-2023/02/09 | 29193 | graphics/asymptote/LspCpp/src/lsp/ProtocolJsonHandler.cpp
-2023/02/09 | 13804 | graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
-2023/02/09 | 18867 | graphics/asymptote/LspCpp/src/lsp/utils.cpp
-2023/02/09 | 5358 | graphics/asymptote/LspCpp/src/lsp/working_files.cpp
-2023/02/09 | 2662 | graphics/asymptote/LspCpp/third_party/rapidjson/appveyor.yml
-2023/02/09 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/abcde.txt
-2023/02/09 | 582 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/glossary.json
-2023/02/09 | 872 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/menu.json
-2023/02/09 | 103 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/readme.txt
-2023/02/09 | 687491 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/sample.json
-2023/02/09 | 3467 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/webapp.json
-2023/02/09 | 601 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/widget.json
-2023/02/09 | 4375 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/draft-04/schema
-2023/02/09 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16bebom.json
-2023/02/09 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16be.json
-2023/02/09 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16lebom.json
-2023/02/09 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16le.json
-2023/02/09 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32bebom.json
-2023/02/09 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32be.json
-2023/02/09 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32lebom.json
-2023/02/09 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32le.json
-2023/02/09 | 319 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8bom.json
-2023/02/09 | 316 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8.json
-2023/02/09 | 58 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail10.json
-2023/02/09 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail11.json
-2023/02/09 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail12.json
-2023/02/09 | 43 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail13.json
-2023/02/09 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail14.json
-2023/02/09 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail15.json
-2023/02/09 | 8 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail16.json
-2023/02/09 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail17.json
-2023/02/09 | 50 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail18.json
-2023/02/09 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail19.json
-2023/02/09 | 60 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail1.json
-2023/02/09 | 23 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail20.json
-2023/02/09 | 32 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail21.json
-2023/02/09 | 33 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail22.json
-2023/02/09 | 20 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail23.json
-2023/02/09 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail24.json
-2023/02/09 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail25.json
-2023/02/09 | 38 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail26.json
-2023/02/09 | 14 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail27.json
-2023/02/09 | 15 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail28.json
-2023/02/09 | 4 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail29.json
-2023/02/09 | 17 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail2.json
-2023/02/09 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail30.json
-2023/02/09 | 7 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail31.json
-2023/02/09 | 40 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail32.json
-2023/02/09 | 12 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail33.json
-2023/02/09 | 37 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail3.json
-2023/02/09 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail4.json
-2023/02/09 | 24 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail5.json
-2023/02/09 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail6.json
-2023/02/09 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail7.json
-2023/02/09 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail8.json
-2023/02/09 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail9.json
-2023/02/09 | 1441 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass1.json
-2023/02/09 | 52 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass2.json
-2023/02/09 | 148 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass3.json
-2023/02/09 | 173 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/readme.txt
-2023/02/09 | 9059 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/bin/jsonschema_suite
-2023/02/09 | 1057 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/LICENSE
-2023/02/09 | 4787 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/README.md
-2023/02/09 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json
-2023/02/09 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/integer.json
-2023/02/09 | 110 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/subSchemas.json
-2023/02/09 | 2257 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json
-2023/02/09 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json
-2023/02/09 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/default.json
-2023/02/09 | 2989 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/dependencies.json
-2023/02/09 | 1936 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/disallow.json
-2023/02/09 | 1544 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json
-2023/02/09 | 1964 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/enum.json
-2023/02/09 | 2591 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/extends.json
-2023/02/09 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/items.json
-2023/02/09 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maximum.json
-2023/02/09 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxItems.json
-2023/02/09 | 895 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxLength.json
-2023/02/09 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minimum.json
-2023/02/09 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minItems.json
-2023/02/09 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minLength.json
-2023/02/09 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json
-2023/02/09 | 6751 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/format.json
-2023/02/09 | 463 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json
-2023/02/09 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json
-2023/02/09 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/pattern.json
-2023/02/09 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json
-2023/02/09 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/properties.json
-2023/02/09 | 4385 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/ref.json
-2023/02/09 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/refRemote.json
-2023/02/09 | 1282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/required.json
-2023/02/09 | 13217 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/type.json
-2023/02/09 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json
-2023/02/09 | 2282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json
-2023/02/09 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json
-2023/02/09 | 3025 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/allOf.json
-2023/02/09 | 1608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/anyOf.json
-2023/02/09 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/default.json
-2023/02/09 | 854 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/definitions.json
-2023/02/09 | 3139 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/dependencies.json
-2023/02/09 | 1975 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/enum.json
-2023/02/09 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/items.json
-2023/02/09 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maximum.json
-2023/02/09 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxItems.json
-2023/02/09 | 896 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxLength.json
-2023/02/09 | 759 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json
-2023/02/09 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minimum.json
-2023/02/09 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minItems.json
-2023/02/09 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minLength.json
-2023/02/09 | 725 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minProperties.json
-2023/02/09 | 1525 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json
-2023/02/09 | 2266 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/not.json
-2023/02/09 | 1607 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/oneOf.json
-2023/02/09 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json
-2023/02/09 | 4608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/format.json
-2023/02/09 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json
-2023/02/09 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/pattern.json
-2023/02/09 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json
-2023/02/09 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/properties.json
-2023/02/09 | 4366 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/ref.json
-2023/02/09 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/refRemote.json
-2023/02/09 | 923 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/required.json
-2023/02/09 | 9298 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/type.json
-2023/02/09 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json
-2023/02/09 | 134 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tox.ini
-2023/02/09 | 30003 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/alotofkeys.json
-2023/02/09 | 849 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/booleans.json
-2023/02/09 | 1698 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/floats.json
-2023/02/09 | 4202 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/guids.json
-2023/02/09 | 1098 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/integers.json
-2023/02/09 | 15142 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/mixed.json
-2023/02/09 | 802 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/nulls.json
-2023/02/09 | 33764 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/paragraphs.json
-2023/02/09 | 86 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/readme.txt
-2023/02/09 | 3157 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
-2023/02/09 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/allOf_address.json
-2023/02/09 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/anyOf_address.json
-2023/02/09 | 1315 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/idandref.json
-2023/02/09 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/oneOf_address.json
-2023/02/09 | 6818 | graphics/asymptote/LspCpp/third_party/rapidjson/CHANGELOG.md
-2023/02/09 | 10312 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
-2023/02/09 | 828 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeModules/FindGTestSrc.cmake
-2023/02/09 | 2175 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/LICENSE
-2023/02/09 | 2603 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
-2023/02/09 | 678 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/README.md
-2023/02/09 | 1052 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/CMakeLists.txt
-2023/02/09 | 912 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.dot
-2023/02/09 | 16569 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.png
-2023/02/09 | 2239 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.dot
-2023/02/09 | 37281 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.png
-2023/02/09 | 1915 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.dot
-2023/02/09 | 92378 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.png
-2023/02/09 | 176 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/makefile
-2023/02/09 | 935 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.dot
-2023/02/09 | 16081 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.png
-2023/02/09 | 1502 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.dot
-2023/02/09 | 41517 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.png
-2023/02/09 | 1454 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.dot
-2023/02/09 | 36371 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.png
-2023/02/09 | 1427 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.dot
-2023/02/09 | 32887 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.png
-2023/02/09 | 1435 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.dot
-2023/02/09 | 43670 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.png
-2023/02/09 | 1456 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.dot
-2023/02/09 | 44634 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.png
-2023/02/09 | 1775 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.dot
-2023/02/09 | 99993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.png
-2023/02/09 | 15464 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.md
-2023/02/09 | 15393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.zh-cn.md
-2023/02/09 | 103393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.in
-2023/02/09 | 103478 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.zh-cn.in
-2023/02/09 | 6708 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.md
-2023/02/09 | 6860 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.zh-cn.md
-2023/02/09 | 15364 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.md
-2023/02/09 | 15030 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.zh-cn.md
-2023/02/09 | 5005 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
-2023/02/09 | 4805 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.zh-cn.md
-2023/02/09 | 22426 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.md
-2023/02/09 | 21956 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.zh-cn.md
-2023/02/09 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/docker/debian/Dockerfile
-2023/02/09 | 5259 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.png
-2023/02/09 | 4230 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.svg
-2023/02/09 | 6572 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/doxygenextra.css
-2023/02/09 | 6090 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/DoxygenLayout.xml
-2023/02/09 | 256 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/footer.html
-2023/02/09 | 1137 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/header.html
-2023/02/09 | 363 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/npm.md
-2023/02/09 | 1268 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.md
-2023/02/09 | 1236 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.zh-cn.md
-2023/02/09 | 8883 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.md
-2023/02/09 | 8532 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.zh-cn.md
-2023/02/09 | 21276 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.md
-2023/02/09 | 19967 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.zh-cn.md
-2023/02/09 | 17993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
-2023/02/09 | 9765 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.zh-cn.md
-2023/02/09 | 14531 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.md
-2023/02/09 | 14325 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.zh-cn.md
-2023/02/09 | 22121 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.md
-2023/02/09 | 21546 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.zh-cn.md
-2023/02/09 | 7125 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.cpp
-2023/02/09 | 3563 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.h
-2023/02/09 | 6849 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archivertest.cpp
-2023/02/09 | 2576 | graphics/asymptote/LspCpp/third_party/rapidjson/example/capitalize/capitalize.cpp
-2023/02/09 | 982 | graphics/asymptote/LspCpp/third_party/rapidjson/example/CMakeLists.txt
-2023/02/09 | 1014 | graphics/asymptote/LspCpp/third_party/rapidjson/example/condense/condense.cpp
-2023/02/09 | 5933 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkeydom/filterkeydom.cpp
-2023/02/09 | 4963 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkey/filterkey.cpp
-2023/02/09 | 5996 | graphics/asymptote/LspCpp/third_party/rapidjson/example/jsonx/jsonx.cpp
-2023/02/09 | 9349 | graphics/asymptote/LspCpp/third_party/rapidjson/example/lookaheadparser/lookaheadparser.cpp
-2023/02/09 | 2814 | graphics/asymptote/LspCpp/third_party/rapidjson/example/messagereader/messagereader.cpp
-2023/02/09 | 5129 | graphics/asymptote/LspCpp/third_party/rapidjson/example/parsebyparts/parsebyparts.cpp
-2023/02/09 | 2245 | graphics/asymptote/LspCpp/third_party/rapidjson/example/prettyauto/prettyauto.cpp
-2023/02/09 | 1019 | graphics/asymptote/LspCpp/third_party/rapidjson/example/pretty/pretty.cpp
-2023/02/09 | 8701 | graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
-2023/02/09 | 4581 | graphics/asymptote/LspCpp/third_party/rapidjson/example/serialize/serialize.cpp
-2023/02/09 | 685 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simpledom/simpledom.cpp
-2023/02/09 | 2255 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplepullreader/simplepullreader.cpp
-2023/02/09 | 1866 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplereader/simplereader.cpp
-2023/02/09 | 1026 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplewriter/simplewriter.cpp
-2023/02/09 | 1610 | graphics/asymptote/LspCpp/third_party/rapidjson/example/sortkeys/sortkeys.cpp
-2023/02/09 | 942 | graphics/asymptote/LspCpp/third_party/rapidjson/example/traverseaspointer.cpp
-2023/02/09 | 6253 | graphics/asymptote/LspCpp/third_party/rapidjson/example/tutorial/tutorial.cpp
-2023/02/09 | 94 | graphics/asymptote/LspCpp/third_party/rapidjson/include_dirs.js
-2023/02/09 | 22506 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
-2023/02/09 | 2260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h
-2023/02/09 | 132742 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
-2023/02/09 | 10641 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodedstream.h
-2023/02/09 | 29242 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodings.h
-2023/02/09 | 8815 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
-2023/02/09 | 9740 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
-2023/02/09 | 2974 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filereadstream.h
-2023/02/09 | 3119 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filewritestream.h
-2023/02/09 | 4007 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/fwd.h
-2023/02/09 | 9231 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
-2023/02/09 | 2045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/clzll.h
-2023/02/09 | 11559 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
-2023/02/09 | 8429 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
-2023/02/09 | 2969 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/ieee754.h
-2023/02/09 | 10110 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/itoa.h
-2023/02/09 | 6616 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/meta.h
-2023/02/09 | 3567 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/pow10.h
-2023/02/09 | 26102 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/regex.h
-2023/02/09 | 7157 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/stack.h
-2023/02/09 | 2721 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strfunc.h
-2023/02/09 | 9032 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strtod.h
-2023/02/09 | 1398 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/swap.h
-2023/02/09 | 4051 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/istreamwrapper.h
-2023/02/09 | 2534 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorybuffer.h
-2023/02/09 | 2642 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorystream.h
-2023/02/09 | 8361 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h
-2023/02/09 | 9375 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h
-2023/02/09 | 2303 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/ostreamwrapper.h
-2023/02/09 | 63680 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
-2023/02/09 | 10504 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/prettywriter.h
-2023/02/09 | 25589 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
-2023/02/09 | 94336 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
-2023/02/09 | 121098 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
-2023/02/09 | 6732 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stream.h
-2023/02/09 | 3968 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stringbuffer.h
-2023/02/09 | 19752 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/uri.h
-2023/02/09 | 26817 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/writer.h
-2023/02/09 | 355 | graphics/asymptote/LspCpp/third_party/rapidjson/library.json
-2023/02/09 | 5152 | graphics/asymptote/LspCpp/third_party/rapidjson/license.txt
-2023/02/09 | 561 | graphics/asymptote/LspCpp/third_party/rapidjson/package.json
-2023/02/09 | 3407 | graphics/asymptote/LspCpp/third_party/rapidjson/rapidjson.autopkg
-2023/02/09 | 983 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfig.cmake.in
-2023/02/09 | 469 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfigVersion.cmake.in
-2023/02/09 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSON.pc.in
-2023/02/09 | 11146 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.md
-2023/02/09 | 8795 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.zh-cn.md
-2023/02/09 | 491 | graphics/asymptote/LspCpp/third_party/rapidjson/test/CMakeLists.txt
-2023/02/09 | 834 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/CMakeLists.txt
-2023/02/09 | 35461 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/misctest.cpp
-2023/02/09 | 971 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.cpp
-2023/02/09 | 5752 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.h
-2023/02/09 | 4438 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/platformtest.cpp
-2023/02/09 | 16298 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/rapidjsontest.cpp
-2023/02/09 | 7218 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/schematest.cpp
-2023/02/09 | 9036 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/allocatorstest.cpp
-2023/02/09 | 4416 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/bigintegertest.cpp
-2023/02/09 | 1088 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/clzlltest.cpp
-2023/02/09 | 3060 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/CMakeLists.txt
-2023/02/09 | 3733 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
-2023/02/09 | 21271 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/documenttest.cpp
-2023/02/09 | 3437 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/dtoatest.cpp
-2023/02/09 | 11996 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
-2023/02/09 | 19321 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodingstest.cpp
-2023/02/09 | 4381 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/filestreamtest.cpp
-2023/02/09 | 5832 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/fwdtest.cpp
-2023/02/09 | 5415 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/istreamwrappertest.cpp
-2023/02/09 | 3956 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/itoatest.cpp
-2023/02/09 | 4733 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/jsoncheckertest.cpp
-2023/02/09 | 2396 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/namespacetest.cpp
-2023/02/09 | 2481 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
-2023/02/09 | 1452 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/platformtest.cpp
-2023/02/09 | 62767 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
-2023/02/09 | 10310 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/prettywritertest.cpp
-2023/02/09 | 98539 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/readertest.cpp
-2023/02/09 | 17258 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/regextest.cpp
-2023/02/09 | 124978 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
-2023/02/09 | 7016 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
-2023/02/09 | 1312 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strfunctest.cpp
-2023/02/09 | 5540 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/stringbuffertest.cpp
-2023/02/09 | 4248 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strtodtest.cpp
-2023/02/09 | 1523 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.cpp
-2023/02/09 | 3967 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.h
-2023/02/09 | 28158 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
-2023/02/09 | 57598 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
-2023/02/09 | 17907 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/writertest.cpp
-2023/02/09 | 242 | graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
-2023/02/09 | 3294 | graphics/asymptote/LspCpp/third_party/rapidjson/travis-doxygen.sh
-2023/02/09 | 1216 | graphics/asymptote/LspCpp/third_party/uri/CHANGELOG.md
-2023/02/09 | 648 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
-2023/02/09 | 3036 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
-2023/02/09 | 188 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/cmake_clean.cmake
-2023/02/09 | 113 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
-2023/02/09 | 107 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.ts
-2023/02/09 | 423 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
-2023/02/09 | 22 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/progress.make
-2023/02/09 | 2 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/progress.marks
-2023/02/09 | 1694 | graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
-2023/02/09 | 3282 | graphics/asymptote/LspCpp/third_party/uri/CMakeLists.txt
-2023/02/09 | 6104 | graphics/asymptote/LspCpp/third_party/uri/deps/BUILD.bazel
-2023/02/09 | 4160 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/linux-presubmit.sh
-2023/02/09 | 2608 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/macos-presubmit.sh
-2023/02/09 | 784 | graphics/asymptote/LspCpp/third_party/uri/deps/CMakeLists.txt
-2023/02/09 | 5683 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTING.md
-2023/02/09 | 2223 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTORS
-2023/02/09 | 86552 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/advanced.md
-2023/02/09 | 342 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/community_created_documentation.md
-2023/02/09 | 18 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_config.yml
-2023/02/09 | 1200 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_data/navigation.yml
-2023/02/09 | 29900 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/faq.md
-2023/02/09 | 7364 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cheat_sheet.md
-2023/02/09 | 145014 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cook_book.md
-2023/02/09 | 14980 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_faq.md
-2023/02/09 | 29203 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_for_dummies.md
-2023/02/09 | 1034 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/index.md
-2023/02/09 | 2319 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_layouts/default.html
-2023/02/09 | 5062 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/pkgconfig.md
-2023/02/09 | 929 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/platforms.md
-2023/02/09 | 19136 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/primer.md
-2023/02/09 | 5204 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-bazel.md
-2023/02/09 | 5054 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-cmake.md
-2023/02/09 | 6872 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/actions.md
-2023/02/09 | 21535 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/assertions.md
-2023/02/09 | 20123 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/matchers.md
-2023/02/09 | 20974 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/mocking.md
-2023/02/09 | 43830 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/testing.md
-2023/02/09 | 1118 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/samples.md
-2023/02/09 | 2915 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_sass/main.scss
-2023/02/09 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock_main.pc.in
-2023/02/09 | 347 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock.pc.in
-2023/02/09 | 8129 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/CMakeLists.txt
-2023/02/09 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/docs/README.md
-2023/02/09 | 61667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-actions.h
-2023/02/09 | 6097 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-cardinalities.h
-2023/02/09 | 25503 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-function-mocker.h
-2023/02/09 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock.h
-2023/02/09 | 207686 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-matchers.h
-2023/02/09 | 30920 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-actions.h
-2023/02/09 | 3419 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-matchers.h
-2023/02/09 | 10476 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-nice-strict.h
-2023/02/09 | 76445 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-spec-builders.h
-2023/02/09 | 314 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-generated-actions.h
-2023/02/09 | 1918 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-matchers.h
-2023/02/09 | 1953 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-port.h
-2023/02/09 | 510 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/README.md
-2023/02/09 | 18448 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-internal-utils.h
-2023/02/09 | 4807 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-port.h
-2023/02/09 | 13491 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-pp.h
-2023/02/09 | 1538 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/README.md
-2023/02/09 | 2107 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-all.cc
-2023/02/09 | 5262 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-cardinalities.cc
-2023/02/09 | 8528 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock.cc
-2023/02/09 | 9267 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-internal-utils.cc
-2023/02/09 | 3011 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock_main.cc
-2023/02/09 | 17951 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-matchers.cc
-2023/02/09 | 33482 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-spec-builders.cc
-2023/02/09 | 3266 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/BUILD.bazel
-2023/02/09 | 51302 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-actions_test.cc
-2023/02/09 | 2335 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_all_test.cc
-2023/02/09 | 12321 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-cardinalities_test.cc
-2023/02/09 | 3280 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_ex_test.cc
-2023/02/09 | 33667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-function-mocker_test.cc
-2023/02/09 | 28114 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-internal-utils_test.cc
-2023/02/09 | 3230 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test_.cc
-2023/02/09 | 4357 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test.py
-2023/02/09 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link2_test.cc
-2023/02/09 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.cc
-2023/02/09 | 19604 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.h
-2023/02/09 | 287695 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-matchers_test.cc
-2023/02/09 | 53373 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-more-actions_test.cc
-2023/02/09 | 15529 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-nice-strict_test.cc
-2023/02/09 | 8561 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_.cc
-2023/02/09 | 13612 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_golden.txt
-2023/02/09 | 6175 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test.py
-2023/02/09 | 1977 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-port_test.cc
-2023/02/09 | 8789 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp-string_test.cc
-2023/02/09 | 3517 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp_test.cc
-2023/02/09 | 74749 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-spec-builders_test.cc
-2023/02/09 | 7287 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_stress_test.cc
-2023/02/09 | 6412 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test.cc
-2023/02/09 | 3218 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test_utils.py
-2023/02/09 | 284 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/Config.cmake.in
-2023/02/09 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest_main.pc.in
-2023/02/09 | 311 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest.pc.in
-2023/02/09 | 14575 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/internal_utils.cmake
-2023/02/09 | 499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/libgtest.la.in
-2023/02/09 | 11937 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/CMakeLists.txt
-2023/02/09 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/docs/README.md
-2023/02/09 | 8307 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-assertion-result.h
-2023/02/09 | 14651 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-death-test.h
-2023/02/09 | 88387 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest.h
-2023/02/09 | 33240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-matchers.h
-2023/02/09 | 8120 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-message.h
-2023/02/09 | 22663 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-param-test.h
-2023/02/09 | 15043 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_pred_impl.h
-2023/02/09 | 36540 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-printers.h
-2023/02/09 | 2499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_prod.h
-2023/02/09 | 10073 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-spi.h
-2023/02/09 | 6944 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-test-part.h
-2023/02/09 | 15959 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-typed-test.h
-2023/02/09 | 1858 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest.h
-2023/02/09 | 1873 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-port.h
-2023/02/09 | 2094 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-printers.h
-2023/02/09 | 1753 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/README.md
-2023/02/09 | 13366 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-death-test-internal.h
-2023/02/09 | 9856 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-filepath.h
-2023/02/09 | 61699 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-internal.h
-2023/02/09 | 35217 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-param-util.h
-2023/02/09 | 4207 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port-arch.h
-2023/02/09 | 85342 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port.h
-2023/02/09 | 7304 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-string.h
-2023/02/09 | 6252 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-type-util.h
-2023/02/09 | 8894 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/README.md
-2023/02/09 | 4247 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/prime_tables.h
-2023/02/09 | 4985 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample10_unittest.cc
-2023/02/09 | 2470 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.cc
-2023/02/09 | 1919 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.h
-2023/02/09 | 5111 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1_unittest.cc
-2023/02/09 | 2260 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.cc
-2023/02/09 | 2982 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.h
-2023/02/09 | 3917 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2_unittest.cc
-2023/02/09 | 5375 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3-inl.h
-2023/02/09 | 5360 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3_unittest.cc
-2023/02/09 | 2110 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.cc
-2023/02/09 | 2132 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.h
-2023/02/09 | 1995 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4_unittest.cc
-2023/02/09 | 6585 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample5_unittest.cc
-2023/02/09 | 8861 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample6_unittest.cc
-2023/02/09 | 4620 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample7_unittest.cc
-2023/02/09 | 6194 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample8_unittest.cc
-2023/02/09 | 5925 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample9_unittest.cc
-2023/02/09 | 2201 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-all.cc
-2023/02/09 | 3025 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-assertion-result.cc
-2023/02/09 | 252536 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest.cc
-2023/02/09 | 62413 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-death-test.cc
-2023/02/09 | 14081 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-filepath.cc
-2023/02/09 | 46854 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-internal-inl.h
-2023/02/09 | 1968 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest_main.cc
-2023/02/09 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-matchers.cc
-2023/02/09 | 47582 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-port.cc
-2023/02/09 | 18474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-printers.cc
-2023/02/09 | 4126 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-test-part.cc
-2023/02/09 | 3780 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-typed-test.cc
-2023/02/09 | 15318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/BUILD.bazel
-2023/02/09 | 3240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest_.cc
-2023/02/09 | 7322 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest.py
-2023/02/09 | 8386 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test_.cc
-2023/02/09 | 10023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test.py
-2023/02/09 | 2505 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test_.cc
-2023/02/09 | 4896 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test.py
-2023/02/09 | 3601 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test_ex_test.cc
-2023/02/09 | 47993 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test-test.cc
-2023/02/09 | 3704 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test_.cc
-2023/02/09 | 4173 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test.py
-2023/02/09 | 5595 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest_.cc
-2023/02/09 | 14915 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest.py
-2023/02/09 | 22642 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filepath-test.cc
-2023/02/09 | 3466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest_.cc
-2023/02/09 | 21466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest.py
-2023/02/09 | 2286 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest_.cc
-2023/02/09 | 5254 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest.py
-2023/02/09 | 5705 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-outfiles-test.py
-2023/02/09 | 24483 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-output-unittest.py
-2023/02/09 | 24474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-listener-test.cc
-2023/02/09 | 4668 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest_.cc
-2023/02/09 | 6543 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest.py
-2023/02/09 | 5265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-message-test.cc
-2023/02/09 | 7957 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-options-test.cc
-2023/02/09 | 36152 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test_.cc
-2023/02/09 | 42714 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test-golden-lin.txt
-2023/02/09 | 12648 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test.py
-2023/02/09 | 2813 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test2-test.cc
-2023/02/09 | 2023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test_.cc
-2023/02/09 | 2400 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test.py
-2023/02/09 | 2138 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test_.cc
-2023/02/09 | 2355 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test.py
-2023/02/09 | 40998 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.cc
-2023/02/09 | 2282 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.h
-2023/02/09 | 40876 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-port-test.cc
-2023/02/09 | 63842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-printers-test.cc
-2023/02/09 | 1949 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test_.cc
-2023/02/09 | 2265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test.py
-2023/02/09 | 3219 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test_.cc
-2023/02/09 | 12539 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test.py
-2023/02/09 | 8112 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-test-part-test.cc
-2023/02/09 | 3069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test_.cc
-2023/02/09 | 5658 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test.py
-2023/02/09 | 1878 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test_.cc
-2023/02/09 | 2495 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test.py
-2023/02/09 | 2239 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_all_test.cc
-2023/02/09 | 3842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_assert_by_exception_test.cc
-2023/02/09 | 6418 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_environment_test.cc
-2023/02/09 | 2088 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test_.cc
-2023/02/09 | 6037 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test.py
-2023/02/09 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_json_test_utils.py
-2023/02/09 | 3197 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest_.cc
-2023/02/09 | 9502 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest.py
-2023/02/09 | 1841 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_main_unittest.cc
-2023/02/09 | 2403 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_no_test_unittest.cc
-2023/02/09 | 77498 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_pred_impl_unittest.cc
-2023/02/09 | 4283 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_premature_exit_test.cc
-2023/02/09 | 2147 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_prod_test.cc
-2023/02/09 | 7180 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_repeat_test.cc
-2023/02/09 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_check_output_test.py
-2023/02/09 | 2230 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_environment_check_output_test.py
-2023/02/09 | 2069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_in_environment_setup_test.cc
-2023/02/09 | 2005 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_test.cc
-2023/02/09 | 2175 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_sole_header_test.cc
-2023/02/09 | 9318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_stress_test.cc
-2023/02/09 | 1923 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test_.cc
-2023/02/09 | 2496 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test.py
-2023/02/09 | 3767 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_macro_stack_footprint_test.cc
-2023/02/09 | 8407 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_utils.py
-2023/02/09 | 3392 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_throw_on_failure_ex_test.cc
-2023/02/09 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test2_test.cc
-2023/02/09 | 14089 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.cc
-2023/02/09 | 2396 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.h
-2023/02/09 | 13060 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-unittest-api_test.cc
-2023/02/09 | 261756 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_unittest.cc
-2023/02/09 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile1_test_.cc
-2023/02/09 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile2_test_.cc
-2023/02/09 | 5415 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfiles_test.py
-2023/02/09 | 6376 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest_.cc
-2023/02/09 | 20639 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest.py
-2023/02/09 | 9327 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_test_utils.py
-2023/02/09 | 1675 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.cc
-2023/02/09 | 2130 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.h
-2023/02/09 | 1475 | graphics/asymptote/LspCpp/third_party/uri/deps/LICENSE
-2023/02/09 | 4613 | graphics/asymptote/LspCpp/third_party/uri/deps/README.md
-2023/02/09 | 781 | graphics/asymptote/LspCpp/third_party/uri/deps/WORKSPACE
-2023/02/09 | 74120 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile
-2023/02/09 | 74016 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile.in
-2023/02/09 | 16552 | graphics/asymptote/LspCpp/third_party/uri/include/network/optional.hpp
-2023/02/09 | 7731 | graphics/asymptote/LspCpp/third_party/uri/include/network/string_view.hpp
-2023/02/09 | 572 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/config.hpp
-2023/02/09 | 1898 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
-2023/02/09 | 4438 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
-2023/02/09 | 2151 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
-2023/02/09 | 2073 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
-2023/02/09 | 1031 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri.hpp
-2023/02/09 | 6917 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
-2023/02/09 | 2459 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
-2023/02/09 | 21998 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri.hpp
-2023/02/09 | 1710 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_io.hpp
-2023/02/09 | 1338 | graphics/asymptote/LspCpp/third_party/uri/LICENSE_1_0.txt
-2023/02/09 | 7049 | graphics/asymptote/LspCpp/third_party/uri/Makefile
-2023/02/09 | 2328 | graphics/asymptote/LspCpp/third_party/uri/README.rst
-2023/02/09 | 648 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
-2023/02/09 | 20942 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
-2023/02/09 | 1104 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean.cmake
-2023/02/09 | 43 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean_target.cmake
-2023/02/09 | 67141 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
-2023/02/09 | 79041 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
-2023/02/09 | 118 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
-2023/02/09 | 2295 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
-2023/02/09 | 95 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
-2023/02/09 | 412 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
-2023/02/09 | 473 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
-2023/02/09 | 199 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/progress.make
-2023/02/09 | 2 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/progress.marks
-2023/02/09 | 1531 | graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
-2023/02/09 | 1008 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeLists.txt
-2023/02/09 | 2115 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
-2023/02/09 | 2100 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm.hpp
-2023/02/09 | 2281 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
-2023/02/09 | 3063 | graphics/asymptote/LspCpp/third_party/uri/src/detail/grammar.hpp
-2023/02/09 | 2313 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
-2023/02/09 | 639 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
-2023/02/09 | 2035 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
-2023/02/09 | 594 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
-2023/02/09 | 2996 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
-2023/02/09 | 710 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
-2023/02/09 | 10414 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.cpp
-2023/02/09 | 563 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.hpp
-2023/02/09 | 1830 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
-2023/02/09 | 2526 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
-2023/02/09 | 714 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
-2023/02/09 | 16661 | graphics/asymptote/LspCpp/third_party/uri/src/Makefile
-2023/02/09 | 4227 | graphics/asymptote/LspCpp/third_party/uri/src/uri_builder.cpp
-2023/02/09 | 18382 | graphics/asymptote/LspCpp/third_party/uri/src/uri.cpp
-2023/02/09 | 1916 | graphics/asymptote/LspCpp/third_party/uri/src/uri_errors.cpp
-2023/02/09 | 1039 | graphics/asymptote/LspCpp/third_party/uri/test/CMakeLists.txt
-2023/02/09 | 572 | graphics/asymptote/LspCpp/third_party/uri/test/invalid_urls.txt
-2023/02/09 | 4362 | graphics/asymptote/LspCpp/third_party/uri/test/optional_test.cpp
-2023/02/09 | 483 | graphics/asymptote/LspCpp/third_party/uri/test/string_utility.hpp
-2023/02/09 | 2053 | graphics/asymptote/LspCpp/third_party/uri/test/test_uri.hpp
-2023/02/09 | 22526 | graphics/asymptote/LspCpp/third_party/uri/test/uri_builder_test.cpp
-2023/02/09 | 3139 | graphics/asymptote/LspCpp/third_party/uri/test/uri_comparison_test.cpp
-2023/02/09 | 5711 | graphics/asymptote/LspCpp/third_party/uri/test/uri_encoding_test.cpp
-2023/02/09 | 8767 | graphics/asymptote/LspCpp/third_party/uri/test/uri_normalization_test.cpp
-2023/02/09 | 3870 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_path_test.cpp
-2023/02/09 | 2578 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_scheme_test.cpp
-2023/02/09 | 18327 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_test.cpp
-2023/02/09 | 2682 | graphics/asymptote/LspCpp/third_party/uri/test/uri_reference_test.cpp
-2023/02/09 | 10168 | graphics/asymptote/LspCpp/third_party/uri/test/uri_resolve_test.cpp
-2023/02/09 | 1419 | graphics/asymptote/LspCpp/third_party/uri/test/uri_stream_test.cpp
-2023/02/09 | 33296 | graphics/asymptote/LspCpp/third_party/uri/test/uri_test.cpp
-2023/02/09 | 1116 | graphics/asymptote/LspCpp/third_party/uri/test/valid_urls.txt
-2023/02/09 | 1291 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
-2023/02/09 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
-2023/02/09 | 55726 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
-2023/02/09 | 2113 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
-2023/02/09 | 12474 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
-2023/02/09 | 10906 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
-2023/02/09 | 3305 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
-2023/02/09 | 3297 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
-2023/02/09 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
-2023/02/09 | 10964 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
-2023/02/09 | 1734 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
-2023/02/09 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
-2023/02/09 | 2142 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
-2023/02/09 | 5578 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
-2023/02/09 | 1032 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
-2023/02/09 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
-2023/02/09 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
-2023/02/09 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
-2023/02/09 | 4626 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
-2023/02/09 | 1002 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
-2023/02/09 | 21507 | graphics/asymptote/lspserv.cc
-2023/02/09 | 6528 | graphics/asymptote/lspserv.h
-2023/02/09 | 6834 | graphics/asymptote/main.cc
-2023/02/09 | 12891 | graphics/asymptote/Makefile.in
-2023/02/09 | 920 | graphics/asymptote/makeUnique.h
-2023/02/09 | 2960 | graphics/asymptote/material.h
-2023/02/09 | 6425 | graphics/asymptote/mathop.h
-2023/02/09 | 5115 | graphics/asymptote/memory.h
-2023/02/09 | 714 | graphics/asymptote/mod.h
-2023/02/09 | 908 | graphics/asymptote/modifier.h
-2023/02/09 | 8037 | graphics/asymptote/name.cc
-2023/02/09 | 5691 | graphics/asymptote/name.h
-2023/02/09 | 4285 | graphics/asymptote/newexp.cc
-2023/02/09 | 1274 | graphics/asymptote/newexp.h
-2023/02/09 | 916 | graphics/asymptote/opcodes.h
-2023/02/09 | 1050 | graphics/asymptote/opsymbols.pl
-2023/02/09 | 54109 | graphics/asymptote/optional.hpp
-2023/02/09 | 5308 | graphics/asymptote/pair.h
-2023/02/09 | 1399 | graphics/asymptote/parallel.cc
-2023/02/09 | 1206 | graphics/asymptote/parallel.h
-2023/02/09 | 4873 | graphics/asymptote/parser.cc
-2023/02/09 | 1171 | graphics/asymptote/parser.h
-2023/02/09 | 5262 | graphics/asymptote/patches/bison.patch
-2023/02/09 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
-2023/02/09 | 1299 | graphics/asymptote/patches/dvipdf
-2023/02/09 | 113 | graphics/asymptote/patches/fixmem.reg
-2023/02/09 | 1524 | graphics/asymptote/patches/flex.patch
-2023/02/09 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
-2023/02/09 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
-2023/02/09 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
-2023/02/09 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
-2023/02/09 | 1082 | graphics/asymptote/patches/README
-2023/02/09 | 37991 | graphics/asymptote/path3.cc
-2023/02/09 | 10585 | graphics/asymptote/path3.h
-2023/02/09 | 33417 | graphics/asymptote/path.cc
-2023/02/09 | 11663 | graphics/asymptote/path.h
-2023/02/09 | 1594 | graphics/asymptote/pen.cc
-2023/02/09 | 27958 | graphics/asymptote/pen.h
-2023/02/09 | 43024 | graphics/asymptote/picture.cc
-2023/02/09 | 3472 | graphics/asymptote/picture.h
-2023/02/09 | 5250 | graphics/asymptote/pipestream.cc
-2023/02/09 | 2614 | graphics/asymptote/pipestream.h
-2023/02/09 | 138 | graphics/asymptote/Pipfile
-2023/02/09 | 2542 | graphics/asymptote/policy.h
-2023/02/09 | 650 | graphics/asymptote/prcfile.h
-2023/02/09 | 974 | graphics/asymptote/prc/Makefile
-2023/02/09 | 71201 | graphics/asymptote/prc/oPRCFile.cc
-2023/02/09 | 51671 | graphics/asymptote/prc/oPRCFile.h
-2023/02/09 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
-2023/02/09 | 2518 | graphics/asymptote/prc/PRCbitStream.h
-2023/02/09 | 177246 | graphics/asymptote/prc/PRCdouble.cc
-2023/02/09 | 3765 | graphics/asymptote/prc/PRCdouble.h
-2023/02/09 | 30208 | graphics/asymptote/prc/PRC.h
-2023/02/09 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
-2023/02/09 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
-2023/02/09 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
-2023/02/09 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
-2023/02/09 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
-2023/02/09 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
-2023/02/09 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
-2023/02/09 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
-2023/02/09 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
-2023/02/09 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
-2023/02/09 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
-2023/02/09 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
-2023/02/09 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
-2023/02/09 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
-2023/02/09 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
-2023/02/09 | 95 | graphics/asymptote/prc/test.asy
-2023/02/09 | 36243 | graphics/asymptote/prc/test.cc
-2023/02/09 | 66751 | graphics/asymptote/prc/writePRC.cc
-2023/02/09 | 48481 | graphics/asymptote/prc/writePRC.h
-2023/02/09 | 116010 | graphics/asymptote/predicates.cc
-2023/02/09 | 986 | graphics/asymptote/predicates.h
-2023/02/09 | 1236 | graphics/asymptote/primitives.h
-2023/02/09 | 23904 | graphics/asymptote/process.cc
-2023/02/09 | 4919 | graphics/asymptote/process.h
-2023/02/09 | 2378 | graphics/asymptote/profile.py
-2023/02/09 | 9923 | graphics/asymptote/profiler.h
-2023/02/09 | 3265 | graphics/asymptote/program.cc
-2023/02/09 | 2561 | graphics/asymptote/program.h
-2023/02/09 | 19511 | graphics/asymptote/psfile.cc
-2023/02/09 | 9021 | graphics/asymptote/psfile.h
-2023/02/09 | 2505 | graphics/asymptote/README
-2023/02/09 | 1698 | graphics/asymptote/record.cc
-2023/02/09 | 2732 | graphics/asymptote/record.h
-2023/02/09 | 1096 | graphics/asymptote/refaccess.cc
-2023/02/09 | 1936 | graphics/asymptote/refaccess.h
-2023/02/09 | 131496 | graphics/asymptote/ReleaseNotes
-2023/02/09 | 62 | graphics/asymptote/revision.cc
-2023/02/09 | 3441 | graphics/asymptote/rounding.h
-2023/02/09 | 76304 | graphics/asymptote/runarray.cc
-2023/02/09 | 1492 | graphics/asymptote/runarray.h
-2023/02/09 | 50899 | graphics/asymptote/runarray.in
-2023/02/09 | 2661 | graphics/asymptote/runbacktrace.cc
-2023/02/09 | 169 | graphics/asymptote/runbacktrace.h
-2023/02/09 | 831 | graphics/asymptote/runbacktrace.in
-2023/02/09 | 17798 | graphics/asymptote/runfile.cc
-2023/02/09 | 969 | graphics/asymptote/runfile.h
-2023/02/09 | 5987 | graphics/asymptote/runfile.in
-2023/02/09 | 8096 | graphics/asymptote/runhistory.cc
-2023/02/09 | 161 | graphics/asymptote/runhistory.h
-2023/02/09 | 5064 | graphics/asymptote/runhistory.in
-2023/02/09 | 15253 | graphics/asymptote/runlabel.cc
-2023/02/09 | 153 | graphics/asymptote/runlabel.h
-2023/02/09 | 11513 | graphics/asymptote/runlabel.in
-2023/02/09 | 21874 | graphics/asymptote/runmath.cc
-2023/02/09 | 269 | graphics/asymptote/runmath.h
-2023/02/09 | 8804 | graphics/asymptote/runmath.in
-2023/02/09 | 16483 | graphics/asymptote/runpair.cc
-2023/02/09 | 299 | graphics/asymptote/runpair.h
-2023/02/09 | 4156 | graphics/asymptote/runpair.in
-2023/02/09 | 25701 | graphics/asymptote/runpath3d.cc
-2023/02/09 | 186 | graphics/asymptote/runpath3d.h
-2023/02/09 | 8008 | graphics/asymptote/runpath3d.in
-2023/02/09 | 26844 | graphics/asymptote/runpath.cc
-2023/02/09 | 177 | graphics/asymptote/runpath.h
-2023/02/09 | 8439 | graphics/asymptote/runpath.in
-2023/02/09 | 58024 | graphics/asymptote/runpicture.cc
-2023/02/09 | 191 | graphics/asymptote/runpicture.h
-2023/02/09 | 20170 | graphics/asymptote/runpicture.in
-2023/02/09 | 18739 | graphics/asymptote/runstring.cc
-2023/02/09 | 188 | graphics/asymptote/runstring.h
-2023/02/09 | 9867 | graphics/asymptote/runstring.in
-2023/02/09 | 12604 | graphics/asymptote/runsystem.cc
-2023/02/09 | 157 | graphics/asymptote/runsystem.h
-2023/02/09 | 5111 | graphics/asymptote/runsystem.in
-2023/02/09 | 1341 | graphics/asymptote/runtimebase.in
-2023/02/09 | 61683 | graphics/asymptote/runtime.cc
-2023/02/09 | 1163 | graphics/asymptote/runtime.h
-2023/02/09 | 20820 | graphics/asymptote/runtime.in
-2023/02/09 | 7274 | graphics/asymptote/runtime.pl
-2023/02/09 | 13944 | graphics/asymptote/runtriple.cc
-2023/02/09 | 320 | graphics/asymptote/runtriple.h
-2023/02/09 | 2707 | graphics/asymptote/runtriple.in
-2023/02/09 | 1875 | graphics/asymptote/seconds.h
-2023/02/09 | 55304 | graphics/asymptote/settings.cc
-2023/02/09 | 2707 | graphics/asymptote/settings.h
-2023/02/09 | 3667 | graphics/asymptote/shaders.cc
-2023/02/09 | 830 | graphics/asymptote/shaders.h
-2023/02/09 | 6634 | graphics/asymptote/simpson.cc
-2023/02/09 | 14532 | graphics/asymptote/stack.cc
-2023/02/09 | 3295 | graphics/asymptote/stack.h
-2023/02/09 | 2879 | graphics/asymptote/statistics.h
-2023/02/09 | 14795 | graphics/asymptote/stm.cc
-2023/02/09 | 5183 | graphics/asymptote/stm.h
-2023/02/09 | 9104 | graphics/asymptote/symbol.cc
-2023/02/09 | 2776 | graphics/asymptote/symbol.h
-2023/02/09 | 24784 | graphics/asymptote/symbolmaps.cc
-2023/02/09 | 28328 | graphics/asymptote/symbolmaps.h
-2023/02/09 | 2697 | graphics/asymptote/table.h
-2023/02/09 | 843 | graphics/asymptote/tests/arith/integer.asy
-2023/02/09 | 449 | graphics/asymptote/tests/arith/pair.asy
-2023/02/09 | 193 | graphics/asymptote/tests/arith/random.asy
-2023/02/09 | 383 | graphics/asymptote/tests/arith/real.asy
-2023/02/09 | 1710 | graphics/asymptote/tests/arith/roots.asy
-2023/02/09 | 639 | graphics/asymptote/tests/arith/transform.asy
-2023/02/09 | 244 | graphics/asymptote/tests/arith/triple.asy
-2023/02/09 | 936 | graphics/asymptote/tests/array/array.asy
-2023/02/09 | 680 | graphics/asymptote/tests/array/delete.asy
-2023/02/09 | 737 | graphics/asymptote/tests/array/determinant.asy
-2023/02/09 | 1927 | graphics/asymptote/tests/array/fields.asy
-2023/02/09 | 4841 | graphics/asymptote/tests/array/slice.asy
-2023/02/09 | 966 | graphics/asymptote/tests/array/solve.asy
-2023/02/09 | 746 | graphics/asymptote/tests/array/sort.asy
-2023/02/09 | 1096 | graphics/asymptote/tests/array/transpose.asy
-2023/02/09 | 276 | graphics/asymptote/tests/bench/6000circles.asy
-2023/02/09 | 2222 | graphics/asymptote/tests/frames/loop.asy
-2023/02/09 | 202 | graphics/asymptote/tests/frames/stat2.asy
-2023/02/09 | 158 | graphics/asymptote/tests/frames/stat.asy
-2023/02/09 | 62 | graphics/asymptote/tests/gc/array.asy
-2023/02/09 | 102 | graphics/asymptote/tests/gc/file.asy
-2023/02/09 | 54 | graphics/asymptote/tests/gc/funcall.asy
-2023/02/09 | 65 | graphics/asymptote/tests/gc/guide.asy
-2023/02/09 | 143 | graphics/asymptote/tests/gc/label.asy
-2023/02/09 | 124 | graphics/asymptote/tests/gc/path.asy
-2023/02/09 | 72 | graphics/asymptote/tests/gc/pen.asy
-2023/02/09 | 193 | graphics/asymptote/tests/gc/shipout.asy
-2023/02/09 | 77 | graphics/asymptote/tests/gc/string.asy
-2023/02/09 | 129 | graphics/asymptote/tests/gc/struct.asy
-2023/02/09 | 70 | graphics/asymptote/tests/gc/transform.asy
-2023/02/09 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
-2023/02/09 | 11907 | graphics/asymptote/tests/gsl/random.asy
-2023/02/09 | 1209 | graphics/asymptote/tests/imp/unravel.asy
-2023/02/09 | 308 | graphics/asymptote/tests/Makefile
-2023/02/09 | 18 | graphics/asymptote/tests/output/circle.asy
-2023/02/09 | 22 | graphics/asymptote/tests/output/line.asy
-2023/02/09 | 1284 | graphics/asymptote/tests/output/Makefile
-2023/02/09 | 1384 | graphics/asymptote/tests/pic/trans.asy
-2023/02/09 | 236 | graphics/asymptote/tests/string/erase.asy
-2023/02/09 | 182 | graphics/asymptote/tests/string/find.asy
-2023/02/09 | 109 | graphics/asymptote/tests/string/insert.asy
-2023/02/09 | 132 | graphics/asymptote/tests/string/length.asy
-2023/02/09 | 187 | graphics/asymptote/tests/string/rfind.asy
-2023/02/09 | 118 | graphics/asymptote/tests/string/substr.asy
-2023/02/09 | 238 | graphics/asymptote/tests/TestLib.asy
-2023/02/09 | 159 | graphics/asymptote/tests/types/cast.asy
-2023/02/09 | 6503 | graphics/asymptote/tests/types/constructor.asy
-2023/02/09 | 155 | graphics/asymptote/tests/types/ecast.asy
-2023/02/09 | 3375 | graphics/asymptote/tests/types/guide.asy
-2023/02/09 | 224 | graphics/asymptote/tests/types/init.asy
-2023/02/09 | 4242 | graphics/asymptote/tests/types/keyword.asy
-2023/02/09 | 4072 | graphics/asymptote/tests/types/order.asy
-2023/02/09 | 2731 | graphics/asymptote/tests/types/resolve.asy
-2023/02/09 | 308 | graphics/asymptote/tests/types/shadow.asy
-2023/02/09 | 1331 | graphics/asymptote/tests/types/spec.asy
-2023/02/09 | 1189 | graphics/asymptote/tests/types/var.asy
-2023/02/09 | 14283 | graphics/asymptote/testv3d.asy
-2023/02/09 | 17671 | graphics/asymptote/texfile.cc
-2023/02/09 | 13440 | graphics/asymptote/texfile.h
-2023/02/09 | 667 | graphics/asymptote/tinyexr.cc
-2023/02/09 | 1293 | graphics/asymptote/TODO
-2023/02/09 | 6288 | graphics/asymptote/transform.h
-2023/02/09 | 10224 | graphics/asymptote/tr.cc
-2023/02/09 | 3912 | graphics/asymptote/tr.h
-2023/02/09 | 9784 | graphics/asymptote/triple.h
-2023/02/09 | 14072 | graphics/asymptote/types.cc
-2023/02/09 | 15451 | graphics/asymptote/types.h
-2023/02/09 | 10131 | graphics/asymptote/util.cc
-2023/02/09 | 4602 | graphics/asymptote/util.h
-2023/02/09 | 9755 | graphics/asymptote/v3dfile.cc
-2023/02/09 | 4481 | graphics/asymptote/v3dfile.h
-2023/02/09 | 1075 | graphics/asymptote/v3dheadertypes.csv
-2023/02/09 | 1232 | graphics/asymptote/v3dheadertypes.h
-2023/02/09 | 1604 | graphics/asymptote/v3dheadertypes.py
-2023/02/09 | 422 | graphics/asymptote/v3dtypes.csv
-2023/02/09 | 541 | graphics/asymptote/v3dtypes.h
-2023/02/09 | 814 | graphics/asymptote/v3dtypes.py
-2023/02/09 | 2004 | graphics/asymptote/varinit.cc
-2023/02/09 | 2012 | graphics/asymptote/varinit.h
-2023/02/09 | 901 | graphics/asymptote/virtualfieldaccess.cc
-2023/02/09 | 2328 | graphics/asymptote/virtualfieldaccess.h
-2023/02/09 | 766 | graphics/asymptote/vm.h
-2023/02/09 | 222 | graphics/asymptote/wce
-2023/02/09 | 4531 | graphics/asymptote/webgl/fragment.glsl
-2023/02/09 | 101347 | graphics/asymptote/webgl/gl.js
-2023/02/09 | 820 | graphics/asymptote/webgl/license
-2023/02/09 | 1728 | graphics/asymptote/webgl/vertex.glsl
-2023/02/09 | 8811 | graphics/asymptote/xstream.h
-2023/02/09 | 26678069 | graphics/asymptote.zip
+2023/06/07 | 242 | graphics/asymptote/BUGS
+2023/06/07 | 1588 | graphics/asymptote/build-scripts/asy-format.el
+2023/06/07 | 210 | graphics/asymptote/build-scripts/asy-indent.el
+2023/06/07 | 1232 | graphics/asymptote/build-scripts/build-asygl
+2023/06/07 | 2471 | graphics/asymptote/build-scripts/build-asymptote
+2023/06/07 | 3583 | graphics/asymptote/build-scripts/build-asymptote.dos
+2023/06/07 | 1578 | graphics/asymptote/build-scripts/cc-format.el
+2023/06/07 | 183 | graphics/asymptote/build-scripts/cc-indent.el
+2023/06/07 | 2269 | graphics/asymptote/build-scripts/HOWTO-MSWindows
+2023/06/07 | 297 | graphics/asymptote/build-scripts/README-binaries
+2023/06/07 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
+2023/06/07 | 31342 | graphics/asymptote/builtin.cc
+2023/06/07 | 1630 | graphics/asymptote/builtin.h
+2023/06/07 | 1151 | graphics/asymptote/callable.cc
+2023/06/07 | 1640 | graphics/asymptote/callable.h
+2023/06/07 | 1190 | graphics/asymptote/camperror.cc
+2023/06/07 | 814 | graphics/asymptote/camperror.h
+2023/06/07 | 13357 | graphics/asymptote/camp.l
+2023/06/07 | 129563 | graphics/asymptote/camp.tab.cc
+2023/06/07 | 6192 | graphics/asymptote/camp.tab.h
+2023/06/07 | 20029 | graphics/asymptote/camp.y
+2023/06/07 | 4629 | graphics/asymptote/castop.h
+2023/06/07 | 1876 | graphics/asymptote/cc-mode2.el
+2023/06/07 | 1681371 | graphics/asymptote/ChangeLog
+2023/06/07 | 7790 | graphics/asymptote/coder.cc
+2023/06/07 | 11642 | graphics/asymptote/coder.h
+2023/06/07 | 1126 | graphics/asymptote/coenv.cc
+2023/06/07 | 908 | graphics/asymptote/coenv.h
+2023/06/07 | 2404 | graphics/asymptote/common.h
+2023/06/07 | 49797 | graphics/asymptote/config.guess
+2023/06/07 | 7428 | graphics/asymptote/config.h.in
+2023/06/07 | 31609 | graphics/asymptote/config.sub
+2023/06/07 | 307261 | graphics/asymptote/configure
+2023/06/07 | 17693 | graphics/asymptote/configure.ac
+2023/06/07 | 26 | graphics/asymptote/_config.yml
+2023/06/07 | 3676 | graphics/asymptote/constructor.cc
+2023/06/07 | 241 | graphics/asymptote/cudareflect/common.h
+2023/06/07 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
+2023/06/07 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
+2023/06/07 | 883 | graphics/asymptote/cudareflect/helper.cuh
+2023/06/07 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
+2023/06/07 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
+2023/06/07 | 4371 | graphics/asymptote/cudareflect/kernel.cu
+2023/06/07 | 445 | graphics/asymptote/cudareflect/kernel.h
+2023/06/07 | 7780 | graphics/asymptote/cudareflect/main.cc
+2023/06/07 | 548 | graphics/asymptote/cudareflect/Makefile
+2023/06/07 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
+2023/06/07 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
+2023/06/07 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
+2023/06/07 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
+2023/06/07 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
+2023/06/07 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
+2023/06/07 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
+2023/06/07 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
+2023/06/07 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
+2023/06/07 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
+2023/06/07 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
+2023/06/07 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
+2023/06/07 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
+2023/06/07 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
+2023/06/07 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
+2023/06/07 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
+2023/06/07 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
+2023/06/07 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
+2023/06/07 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
+2023/06/07 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
+2023/06/07 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
+2023/06/07 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
+2023/06/07 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
+2023/06/07 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
+2023/06/07 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
+2023/06/07 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
+2023/06/07 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
+2023/06/07 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
+2023/06/07 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
+2023/06/07 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
+2023/06/07 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
+2023/06/07 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
+2023/06/07 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
+2023/06/07 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
+2023/06/07 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
+2023/06/07 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
+2023/06/07 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
+2023/06/07 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
+2023/06/07 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
+2023/06/07 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
+2023/06/07 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
+2023/06/07 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
+2023/06/07 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
+2023/06/07 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
+2023/06/07 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
+2023/06/07 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
+2023/06/07 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
+2023/06/07 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
+2023/06/07 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
+2023/06/07 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
+2023/06/07 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
+2023/06/07 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
+2023/06/07 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
+2023/06/07 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
+2023/06/07 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
+2023/06/07 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
+2023/06/07 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
+2023/06/07 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
+2023/06/07 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
+2023/06/07 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
+2023/06/07 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
+2023/06/07 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
+2023/06/07 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
+2023/06/07 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
+2023/06/07 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
+2023/06/07 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
+2023/06/07 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
+2023/06/07 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
+2023/06/07 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
+2023/06/07 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
+2023/06/07 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
+2023/06/07 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
+2023/06/07 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
+2023/06/07 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
+2023/06/07 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
+2023/06/07 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
+2023/06/07 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
+2023/06/07 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
+2023/06/07 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
+2023/06/07 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
+2023/06/07 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
+2023/06/07 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
+2023/06/07 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
+2023/06/07 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
+2023/06/07 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
+2023/06/07 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
+2023/06/07 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
+2023/06/07 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
+2023/06/07 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
+2023/06/07 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
+2023/06/07 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
+2023/06/07 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
+2023/06/07 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
+2023/06/07 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
+2023/06/07 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
+2023/06/07 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
+2023/06/07 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
+2023/06/07 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
+2023/06/07 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
+2023/06/07 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
+2023/06/07 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
+2023/06/07 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
+2023/06/07 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
+2023/06/07 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
+2023/06/07 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
+2023/06/07 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
+2023/06/07 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
+2023/06/07 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
+2023/06/07 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
+2023/06/07 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
+2023/06/07 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
+2023/06/07 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
+2023/06/07 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
+2023/06/07 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
+2023/06/07 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
+2023/06/07 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
+2023/06/07 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
+2023/06/07 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
+2023/06/07 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
+2023/06/07 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
+2023/06/07 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
+2023/06/07 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
+2023/06/07 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
+2023/06/07 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
+2023/06/07 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
+2023/06/07 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
+2023/06/07 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
+2023/06/07 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
+2023/06/07 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
+2023/06/07 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
+2023/06/07 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
+2023/06/07 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
+2023/06/07 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
+2023/06/07 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
+2023/06/07 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
+2023/06/07 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
+2023/06/07 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
+2023/06/07 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
+2023/06/07 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
+2023/06/07 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
+2023/06/07 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
+2023/06/07 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
+2023/06/07 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
+2023/06/07 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
+2023/06/07 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
+2023/06/07 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
+2023/06/07 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
+2023/06/07 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
+2023/06/07 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
+2023/06/07 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
+2023/06/07 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
+2023/06/07 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
+2023/06/07 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
+2023/06/07 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
+2023/06/07 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
+2023/06/07 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
+2023/06/07 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
+2023/06/07 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
+2023/06/07 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
+2023/06/07 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
+2023/06/07 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
+2023/06/07 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
+2023/06/07 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
+2023/06/07 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
+2023/06/07 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
+2023/06/07 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
+2023/06/07 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
+2023/06/07 | 270390 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
+2023/06/07 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
+2023/06/07 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
+2023/06/07 | 1950 | graphics/asymptote/cudareflect/utils.cuh
+2023/06/07 | 26693 | graphics/asymptote/dec.cc
+2023/06/07 | 17734 | graphics/asymptote/dec.h
+2023/06/07 | 5883 | graphics/asymptote/Delaunay.cc
+2023/06/07 | 384 | graphics/asymptote/Delaunay.h
+2023/06/07 | 9689 | graphics/asymptote/doc/asy.1
+2023/06/07 | 1005 | graphics/asymptote/doc/asy.1.begin
+2023/06/07 | 333 | graphics/asymptote/doc/asy.1.end
+2023/06/07 | 2800 | graphics/asymptote/doc/asycolors.sty
+2023/06/07 | 18095 | graphics/asymptote/doc/asy-latex.dtx
+2023/06/07 | 208908 | graphics/asymptote/doc/asy-latex.pdf
+2023/06/07 | 1288468 | graphics/asymptote/doc/asymptote.pdf
+2023/06/07 | 9805 | graphics/asymptote/doc/asymptote.sty
+2023/06/07 | 395513 | graphics/asymptote/doc/asymptote.texi
+2023/06/07 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
+2023/06/07 | 20051 | graphics/asymptote/doc/asyRefCard.tex
+2023/06/07 | 246 | graphics/asymptote/doc/axis3.asy
+2023/06/07 | 416 | graphics/asymptote/doc/bezier2.asy
+2023/06/07 | 81 | graphics/asymptote/doc/bezier.asy
+2023/06/07 | 234 | graphics/asymptote/doc/beziercurve.asy
+2023/06/07 | 41 | graphics/asymptote/doc/bigdiagonal.asy
+2023/06/07 | 306 | graphics/asymptote/doc/binarytreetest.asy
+2023/06/07 | 677 | graphics/asymptote/doc/Bode.asy
+2023/06/07 | 524 | graphics/asymptote/doc/brokenaxis.asy
+2023/06/07 | 1391 | graphics/asymptote/doc/CAD1.asy
+2023/06/07 | 198488 | graphics/asymptote/doc/CAD.pdf
+2023/06/07 | 10196 | graphics/asymptote/doc/CAD.tex
+2023/06/07 | 518 | graphics/asymptote/doc/CDlabel.asy
+2023/06/07 | 4348 | graphics/asymptote/doc/colo-asy.tex
+2023/06/07 | 49 | graphics/asymptote/doc/colons.asy
+2023/06/07 | 1620 | graphics/asymptote/doc/colors.asy
+2023/06/07 | 243 | graphics/asymptote/doc/cube.asy
+2023/06/07 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
+2023/06/07 | 218 | graphics/asymptote/doc/datagraph.asy
+2023/06/07 | 24 | graphics/asymptote/doc/diagonal.asy
+2023/06/07 | 2979 | graphics/asymptote/doc/diatom.asy
+2023/06/07 | 4067 | graphics/asymptote/doc/diatom.csv
+2023/06/07 | 49 | graphics/asymptote/doc/dots.asy
+2023/06/07 | 1051 | graphics/asymptote/doc/eetomumu.asy
+2023/06/07 | 2034 | graphics/asymptote/doc/elliptic.asy
+2023/06/07 | 912 | graphics/asymptote/doc/errorbars.asy
+2023/06/07 | 202 | graphics/asymptote/doc/exp.asy
+2023/06/07 | 343 | graphics/asymptote/doc/externalprc.tex
+2023/06/07 | 19597 | graphics/asymptote/doc/external-proposal.html
+2023/06/07 | 25154 | graphics/asymptote/doc/extra/intro.asy
+2023/06/07 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
+2023/06/07 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
+2023/06/07 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
+2023/06/07 | 13663 | graphics/asymptote/doc/FAQ/install-sh
+2023/06/07 | 1000 | graphics/asymptote/doc/FAQ/Makefile
+2023/06/07 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
+2023/06/07 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
+2023/06/07 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
+2023/06/07 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
+2023/06/07 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
+2023/06/07 | 238 | graphics/asymptote/doc/filegraph.asy
+2023/06/07 | 26 | graphics/asymptote/doc/filegraph.dat
+2023/06/07 | 1053 | graphics/asymptote/doc/fillcontour.asy
+2023/06/07 | 604 | graphics/asymptote/doc/flow.asy
+2023/06/07 | 897 | graphics/asymptote/doc/flowchartdemo.asy
+2023/06/07 | 464 | graphics/asymptote/doc/GaussianSurface.asy
+2023/06/07 | 376 | graphics/asymptote/doc/generalaxis3.asy
+2023/06/07 | 277 | graphics/asymptote/doc/generalaxis.asy
+2023/06/07 | 754 | graphics/asymptote/doc/graphmarkers.asy
+2023/06/07 | 219 | graphics/asymptote/doc/graphwithderiv.asy
+2023/06/07 | 426 | graphics/asymptote/doc/grid3xyz.asy
+2023/06/07 | 279 | graphics/asymptote/doc/hatch.asy
+2023/06/07 | 423 | graphics/asymptote/doc/helix.asy
+2023/06/07 | 324 | graphics/asymptote/doc/HermiteSpline.asy
+2023/06/07 | 439 | graphics/asymptote/doc/histogram.asy
+2023/06/07 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
+2023/06/07 | 500 | graphics/asymptote/doc/Hobbydir.asy
+2023/06/07 | 378 | graphics/asymptote/doc/icon.asy
+2023/06/07 | 401 | graphics/asymptote/doc/image.asy
+2023/06/07 | 922 | graphics/asymptote/doc/imagecontour.asy
+2023/06/07 | 13663 | graphics/asymptote/doc/install-sh
+2023/06/07 | 357 | graphics/asymptote/doc/irregularcontour.asy
+2023/06/07 | 442 | graphics/asymptote/doc/join3.asy
+2023/06/07 | 261 | graphics/asymptote/doc/join.asy
+2023/06/07 | 417 | graphics/asymptote/doc/knots.asy
+2023/06/07 | 121 | graphics/asymptote/doc/labelsquare.asy
+2023/06/07 | 144 | graphics/asymptote/doc/latexmkrc
+2023/06/07 | 150 | graphics/asymptote/doc/latexmkrc_asydir
+2023/06/07 | 3125 | graphics/asymptote/doc/latexusage.tex
+2023/06/07 | 1008 | graphics/asymptote/doc/leastsquares.asy
+2023/06/07 | 6318 | graphics/asymptote/doc/leastsquares.dat
+2023/06/07 | 396 | graphics/asymptote/doc/legend.asy
+2023/06/07 | 366 | graphics/asymptote/doc/lineargraph0.asy
+2023/06/07 | 373 | graphics/asymptote/doc/lineargraph.asy
+2023/06/07 | 415 | graphics/asymptote/doc/linetype.asy
+2023/06/07 | 423 | graphics/asymptote/doc/log2graph.asy
+2023/06/07 | 262 | graphics/asymptote/doc/loggraph.asy
+2023/06/07 | 382 | graphics/asymptote/doc/loggrid.asy
+2023/06/07 | 480 | graphics/asymptote/doc/logimage.asy
+2023/06/07 | 617 | graphics/asymptote/doc/logo.asy
+2023/06/07 | 314 | graphics/asymptote/doc/logticks.asy
+2023/06/07 | 3034 | graphics/asymptote/doc/Makefile.in
+2023/06/07 | 293 | graphics/asymptote/doc/makepen.asy
+2023/06/07 | 2674 | graphics/asymptote/doc/markers1.asy
+2023/06/07 | 877 | graphics/asymptote/doc/markers2.asy
+2023/06/07 | 288 | graphics/asymptote/doc/mexicanhat.asy
+2023/06/07 | 374 | graphics/asymptote/doc/monthaxis.asy
+2023/06/07 | 458 | graphics/asymptote/doc/multicontour.asy
+2023/06/07 | 115 | graphics/asymptote/doc/onecontour.asy
+2023/06/07 | 240 | graphics/asymptote/doc/parametricgraph.asy
+2023/06/07 | 498 | graphics/asymptote/doc/penfunctionimage.asy
+2023/06/07 | 219 | graphics/asymptote/doc/penimage.asy
+2023/06/07 | 2771 | graphics/asymptote/doc/pixel.pdf
+2023/06/07 | 354 | graphics/asymptote/doc/planes.asy
+2023/06/07 | 475953 | graphics/asymptote/doc/png/asymptote.info
+2023/06/07 | 1469 | graphics/asymptote/doc/png/Makefile.in
+2023/06/07 | 49 | graphics/asymptote/doc/quartercircle.asy
+2023/06/07 | 354 | graphics/asymptote/doc/reloadpdf.tex
+2023/06/07 | 157 | graphics/asymptote/doc/saddle.asy
+2023/06/07 | 355 | graphics/asymptote/doc/scaledgraph.asy
+2023/06/07 | 792 | graphics/asymptote/doc/secondaryaxis.asy
+2023/06/07 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
+2023/06/07 | 256 | graphics/asymptote/doc/shadedtiling.asy
+2023/06/07 | 146 | graphics/asymptote/doc/slopefield1.asy
+2023/06/07 | 52 | graphics/asymptote/doc/square.asy
+2023/06/07 | 341 | graphics/asymptote/doc/subpictures.asy
+2023/06/07 | 123 | graphics/asymptote/doc/superpath.asy
+2023/06/07 | 81287 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
+2023/06/07 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
+2023/06/07 | 390 | graphics/asymptote/doc/tile.asy
+2023/06/07 | 396 | graphics/asymptote/doc/triangulate.asy
+2023/06/07 | 186 | graphics/asymptote/doc/unitcircle3.asy
+2023/06/07 | 140 | graphics/asymptote/doc/vectorfield.asy
+2023/06/07 | 1746 | graphics/asymptote/doc/westnile.asy
+2023/06/07 | 4727 | graphics/asymptote/doc/westnile.csv
+2023/06/07 | 880 | graphics/asymptote/doc/xasy.1x
+2023/06/07 | 1851 | graphics/asymptote/drawclipbegin.h
+2023/06/07 | 1197 | graphics/asymptote/drawclipend.h
+2023/06/07 | 11468 | graphics/asymptote/drawelement.h
+2023/06/07 | 4597 | graphics/asymptote/drawfill.cc
+2023/06/07 | 6525 | graphics/asymptote/drawfill.h
+2023/06/07 | 494 | graphics/asymptote/drawgrestore.h
+2023/06/07 | 2880 | graphics/asymptote/drawgroup.h
+2023/06/07 | 464 | graphics/asymptote/drawgsave.h
+2023/06/07 | 3024 | graphics/asymptote/drawimage.h
+2023/06/07 | 6787 | graphics/asymptote/drawlabel.cc
+2023/06/07 | 2134 | graphics/asymptote/drawlabel.h
+2023/06/07 | 1096 | graphics/asymptote/drawlayer.h
+2023/06/07 | 5542 | graphics/asymptote/drawpath3.cc
+2023/06/07 | 5767 | graphics/asymptote/drawpath3.h
+2023/06/07 | 4862 | graphics/asymptote/drawpath.cc
+2023/06/07 | 669 | graphics/asymptote/drawpath.h
+2023/06/07 | 24712 | graphics/asymptote/drawsurface.cc
+2023/06/07 | 23567 | graphics/asymptote/drawsurface.h
+2023/06/07 | 1266 | graphics/asymptote/drawverbatim.h
+2023/06/07 | 17987 | graphics/asymptote/entry.cc
+2023/06/07 | 13615 | graphics/asymptote/entry.h
+2023/06/07 | 5441 | graphics/asymptote/env.cc
+2023/06/07 | 1142 | graphics/asymptote/envcompleter.cc
+2023/06/07 | 845 | graphics/asymptote/envcompleter.h
+2023/06/07 | 4571 | graphics/asymptote/env.h
+2023/06/07 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
+2023/06/07 | 2279 | graphics/asymptote/errormsg.cc
+2023/06/07 | 5621 | graphics/asymptote/errormsg.h
+2023/06/07 | 9251 | graphics/asymptote/errors
+2023/06/07 | 6911 | graphics/asymptote/errortest.asy
+2023/06/07 | 43335 | graphics/asymptote/examples/100d.pdb1
+2023/06/07 | 657 | graphics/asymptote/examples/100d.views
+2023/06/07 | 163 | graphics/asymptote/examples/1overx.asy
+2023/06/07 | 4158 | graphics/asymptote/examples/advection.asy
+2023/06/07 | 375 | graphics/asymptote/examples/AiryDisk.asy
+2023/06/07 | 245 | graphics/asymptote/examples/alignbox.asy
+2023/06/07 | 2830 | graphics/asymptote/examples/alignedaxis.asy
+2023/06/07 | 946 | graphics/asymptote/examples/animations/cube.asy
+2023/06/07 | 160672 | graphics/asymptote/examples/animations/dice.u3d
+2023/06/07 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
+2023/06/07 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
+2023/06/07 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
+2023/06/07 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
+2023/06/07 | 414 | graphics/asymptote/examples/animations/glmovie.asy
+2023/06/07 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
+2023/06/07 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
+2023/06/07 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
+2023/06/07 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
+2023/06/07 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
+2023/06/07 | 856 | graphics/asymptote/examples/animations/sphere.asy
+2023/06/07 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
+2023/06/07 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
+2023/06/07 | 1149 | graphics/asymptote/examples/animations/wheel.asy
+2023/06/07 | 236 | graphics/asymptote/examples/annotation.asy
+2023/06/07 | 1240 | graphics/asymptote/examples/arrows3.asy
+2023/06/07 | 61 | graphics/asymptote/examples/axialshade.asy
+2023/06/07 | 496 | graphics/asymptote/examples/bars3.asy
+2023/06/07 | 1033 | graphics/asymptote/examples/basealign.asy
+2023/06/07 | 407 | graphics/asymptote/examples/BezierPatch.asy
+2023/06/07 | 581 | graphics/asymptote/examples/BezierSaddle.asy
+2023/06/07 | 1548 | graphics/asymptote/examples/BezierSurface.asy
+2023/06/07 | 199 | graphics/asymptote/examples/BezierTriangle.asy
+2023/06/07 | 154 | graphics/asymptote/examples/billboard.asy
+2023/06/07 | 513 | graphics/asymptote/examples/buildcycle.asy
+2023/06/07 | 233 | graphics/asymptote/examples/cardioid.asy
+2023/06/07 | 485 | graphics/asymptote/examples/cards.asy
+2023/06/07 | 688 | graphics/asymptote/examples/centroidfg.asy
+2023/06/07 | 322 | graphics/asymptote/examples/cheese.asy
+2023/06/07 | 576 | graphics/asymptote/examples/circles.asy
+2023/06/07 | 228 | graphics/asymptote/examples/circumcircle.asy
+2023/06/07 | 762 | graphics/asymptote/examples/clockarray.asy
+2023/06/07 | 264 | graphics/asymptote/examples/coag.asy
+2023/06/07 | 436 | graphics/asymptote/examples/colorpatch.asy
+2023/06/07 | 472 | graphics/asymptote/examples/colorplanes.asy
+2023/06/07 | 739 | graphics/asymptote/examples/condor.asy
+2023/06/07 | 495 | graphics/asymptote/examples/cones.asy
+2023/06/07 | 1778 | graphics/asymptote/examples/conicurv.asy
+2023/06/07 | 254 | graphics/asymptote/examples/contextfonts.asy
+2023/06/07 | 802 | graphics/asymptote/examples/controlsystem.asy
+2023/06/07 | 123 | graphics/asymptote/examples/Coons.asy
+2023/06/07 | 235 | graphics/asymptote/examples/cos2theta.asy
+2023/06/07 | 582 | graphics/asymptote/examples/cos3.asy
+2023/06/07 | 460 | graphics/asymptote/examples/cosaddition.asy
+2023/06/07 | 5537 | graphics/asymptote/examples/cpkcolors.asy
+2023/06/07 | 572 | graphics/asymptote/examples/curvedlabel3.asy
+2023/06/07 | 177 | graphics/asymptote/examples/curvedlabel.asy
+2023/06/07 | 1835 | graphics/asymptote/examples/cyclohexane.asy
+2023/06/07 | 352 | graphics/asymptote/examples/cylinder.asy
+2023/06/07 | 506 | graphics/asymptote/examples/delu.asy
+2023/06/07 | 509 | graphics/asymptote/examples/dimension.asy
+2023/06/07 | 1216 | graphics/asymptote/examples/dragon.asy
+2023/06/07 | 1298 | graphics/asymptote/examples/electromagnetic.asy
+2023/06/07 | 325 | graphics/asymptote/examples/elevation.asy
+2023/06/07 | 398 | graphics/asymptote/examples/epix.asy
+2023/06/07 | 242 | graphics/asymptote/examples/equilateral.asy
+2023/06/07 | 548 | graphics/asymptote/examples/equilchord.asy
+2023/06/07 | 579 | graphics/asymptote/examples/exp3.asy
+2023/06/07 | 519 | graphics/asymptote/examples/extrudedcontour.asy
+2023/06/07 | 498 | graphics/asymptote/examples/fano.asy
+2023/06/07 | 973 | graphics/asymptote/examples/fequlogo.asy
+2023/06/07 | 727 | graphics/asymptote/examples/fermi.asy
+2023/06/07 | 978 | graphics/asymptote/examples/filesurface.asy
+2023/06/07 | 5531 | graphics/asymptote/examples/filesurface.dat
+2023/06/07 | 4244 | graphics/asymptote/examples/fin.asy
+2023/06/07 | 710 | graphics/asymptote/examples/fjortoft.asy
+2023/06/07 | 558 | graphics/asymptote/examples/floatingdisk.asy
+2023/06/07 | 500 | graphics/asymptote/examples/floor.asy
+2023/06/07 | 683 | graphics/asymptote/examples/fractaltree.asy
+2023/06/07 | 1185 | graphics/asymptote/examples/functionshading.asy
+2023/06/07 | 499 | graphics/asymptote/examples/galleon.asy
+2023/06/07 | 713 | graphics/asymptote/examples/gamma3.asy
+2023/06/07 | 439 | graphics/asymptote/examples/gamma.asy
+2023/06/07 | 679 | graphics/asymptote/examples/genusthree.asy
+2023/06/07 | 1164 | graphics/asymptote/examples/genustwo.asy
+2023/06/07 | 383 | graphics/asymptote/examples/Gouraud.asy
+2023/06/07 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
+2023/06/07 | 76 | graphics/asymptote/examples/grid.asy
+2023/06/07 | 459 | graphics/asymptote/examples/hierarchy.asy
+2023/06/07 | 315 | graphics/asymptote/examples/hyperboloid.asy
+2023/06/07 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
+2023/06/07 | 1111 | graphics/asymptote/examples/imagehistogram.asy
+2023/06/07 | 610 | graphics/asymptote/examples/impact.asy
+2023/06/07 | 598 | graphics/asymptote/examples/integraltest.asy
+2023/06/07 | 4809 | graphics/asymptote/examples/interpolate1.asy
+2023/06/07 | 289 | graphics/asymptote/examples/jump.asy
+2023/06/07 | 1352 | graphics/asymptote/examples/Klein.asy
+2023/06/07 | 182 | graphics/asymptote/examples/label3.asy
+2023/06/07 | 196 | graphics/asymptote/examples/label3ribbon.asy
+2023/06/07 | 187 | graphics/asymptote/examples/label3solid.asy
+2023/06/07 | 632 | graphics/asymptote/examples/label3zoom.asy
+2023/06/07 | 264 | graphics/asymptote/examples/labelbox.asy
+2023/06/07 | 1114 | graphics/asymptote/examples/laserlattice.asy
+2023/06/07 | 136 | graphics/asymptote/examples/latticeshading.asy
+2023/06/07 | 690 | graphics/asymptote/examples/layers.asy
+2023/06/07 | 460 | graphics/asymptote/examples/lever.asy
+2023/06/07 | 654 | graphics/asymptote/examples/limit.asy
+2023/06/07 | 1910 | graphics/asymptote/examples/linearregression.asy
+2023/06/07 | 168 | graphics/asymptote/examples/lines.asy
+2023/06/07 | 1040 | graphics/asymptote/examples/lmfit1.asy
+2023/06/07 | 206 | graphics/asymptote/examples/log.asy
+2023/06/07 | 349 | graphics/asymptote/examples/logdown.asy
+2023/06/07 | 1461 | graphics/asymptote/examples/logo3.asy
+2023/06/07 | 196 | graphics/asymptote/examples/lowint.asy
+2023/06/07 | 657 | graphics/asymptote/examples/lowupint.asy
+2023/06/07 | 479 | graphics/asymptote/examples/magnetic.asy
+2023/06/07 | 879 | graphics/asymptote/examples/markregular.asy
+2023/06/07 | 1968 | graphics/asymptote/examples/mergeExample.asy
+2023/06/07 | 5216 | graphics/asymptote/examples/mosaic.asy
+2023/06/07 | 2504 | graphics/asymptote/examples/mosquito.asy
+2023/06/07 | 1566 | graphics/asymptote/examples/near_earth.asy
+2023/06/07 | 703 | graphics/asymptote/examples/NURBScurve.asy
+2023/06/07 | 1088 | graphics/asymptote/examples/NURBSsphere.asy
+2023/06/07 | 1598 | graphics/asymptote/examples/NURBSsurface.asy
+2023/06/07 | 1251 | graphics/asymptote/examples/odetest.asy
+2023/06/07 | 308 | graphics/asymptote/examples/oneoverx.asy
+2023/06/07 | 810 | graphics/asymptote/examples/orthocenter.asy
+2023/06/07 | 254 | graphics/asymptote/examples/parametricelevation.asy
+2023/06/07 | 407 | graphics/asymptote/examples/parametricsurface.asy
+2023/06/07 | 711 | graphics/asymptote/examples/partialsurface.asy
+2023/06/07 | 1055 | graphics/asymptote/examples/partitionExample.asy
+2023/06/07 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
+2023/06/07 | 3335 | graphics/asymptote/examples/pdb.asy
+2023/06/07 | 361 | graphics/asymptote/examples/phase.asy
+2023/06/07 | 22873 | graphics/asymptote/examples/piicon.png
+2023/06/07 | 362 | graphics/asymptote/examples/pipeintersection.asy
+2023/06/07 | 3857 | graphics/asymptote/examples/pipes.asy
+2023/06/07 | 418 | graphics/asymptote/examples/planeproject.asy
+2023/06/07 | 930 | graphics/asymptote/examples/polararea.asy
+2023/06/07 | 628 | graphics/asymptote/examples/polarcircle.asy
+2023/06/07 | 326 | graphics/asymptote/examples/polardatagraph.asy
+2023/06/07 | 641 | graphics/asymptote/examples/pOrbital.asy
+2023/06/07 | 954 | graphics/asymptote/examples/poster.asy
+2023/06/07 | 58 | graphics/asymptote/examples/progrid.asy
+2023/06/07 | 373 | graphics/asymptote/examples/projectelevation.asy
+2023/06/07 | 427 | graphics/asymptote/examples/projectrevolution.asy
+2023/06/07 | 747 | graphics/asymptote/examples/pseudosphere.asy
+2023/06/07 | 557 | graphics/asymptote/examples/Pythagoras.asy
+2023/06/07 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
+2023/06/07 | 734 | graphics/asymptote/examples/quilt.asy
+2023/06/07 | 345 | graphics/asymptote/examples/rainbow.asy
+2023/06/07 | 78 | graphics/asymptote/examples/randompath3.asy
+2023/06/07 | 1537 | graphics/asymptote/examples/refs.bib
+2023/06/07 | 990 | graphics/asymptote/examples/RiemannSphere.asy
+2023/06/07 | 348 | graphics/asymptote/examples/RiemannSurface.asy
+2023/06/07 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
+2023/06/07 | 141 | graphics/asymptote/examples/ring.asy
+2023/06/07 | 184 | graphics/asymptote/examples/roll.asy
+2023/06/07 | 1309 | graphics/asymptote/examples/roundpath.asy
+2023/06/07 | 288 | graphics/asymptote/examples/sacone3D.asy
+2023/06/07 | 445 | graphics/asymptote/examples/sacone.asy
+2023/06/07 | 341 | graphics/asymptote/examples/sacylinder3D.asy
+2023/06/07 | 400 | graphics/asymptote/examples/sacylinder.asy
+2023/06/07 | 66 | graphics/asymptote/examples/shade.asy
+2023/06/07 | 111 | graphics/asymptote/examples/shadestroke.asy
+2023/06/07 | 1065 | graphics/asymptote/examples/shellmethod.asy
+2023/06/07 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
+2023/06/07 | 410 | graphics/asymptote/examples/Sierpinski.asy
+2023/06/07 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
+2023/06/07 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
+2023/06/07 | 327 | graphics/asymptote/examples/sin1x.asy
+2023/06/07 | 579 | graphics/asymptote/examples/sin3.asy
+2023/06/07 | 591 | graphics/asymptote/examples/sinc.asy
+2023/06/07 | 378 | graphics/asymptote/examples/sinxlex.asy
+2023/06/07 | 3358 | graphics/asymptote/examples/slidedemo.asy
+2023/06/07 | 341 | graphics/asymptote/examples/slidedemo_.bbl
+2023/06/07 | 2023 | graphics/asymptote/examples/slope.asy
+2023/06/07 | 520 | graphics/asymptote/examples/smoothelevation.asy
+2023/06/07 | 2680 | graphics/asymptote/examples/soccerball.asy
+2023/06/07 | 2362 | graphics/asymptote/examples/spectrum.asy
+2023/06/07 | 141 | graphics/asymptote/examples/sphere.asy
+2023/06/07 | 150 | graphics/asymptote/examples/spheresilhouette.asy
+2023/06/07 | 162 | graphics/asymptote/examples/sphereskeleton.asy
+2023/06/07 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
+2023/06/07 | 424 | graphics/asymptote/examples/spiral3.asy
+2023/06/07 | 210 | graphics/asymptote/examples/spiral.asy
+2023/06/07 | 608 | graphics/asymptote/examples/spline.asy
+2023/06/07 | 2191 | graphics/asymptote/examples/splitpatch.asy
+2023/06/07 | 38 | graphics/asymptote/examples/spring0.asy
+2023/06/07 | 43 | graphics/asymptote/examples/spring2.asy
+2023/06/07 | 667 | graphics/asymptote/examples/spring.asy
+2023/06/07 | 674 | graphics/asymptote/examples/sqrtx01.asy
+2023/06/07 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
+2023/06/07 | 145 | graphics/asymptote/examples/star.asy
+2023/06/07 | 162 | graphics/asymptote/examples/stereoscopic.asy
+2023/06/07 | 59 | graphics/asymptote/examples/stroke3.asy
+2023/06/07 | 300 | graphics/asymptote/examples/strokepath.asy
+2023/06/07 | 175 | graphics/asymptote/examples/strokeshade.asy
+2023/06/07 | 198 | graphics/asymptote/examples/tanh.asy
+2023/06/07 | 14378 | graphics/asymptote/examples/teapot.asy
+2023/06/07 | 34 | graphics/asymptote/examples/teapotIBL.asy
+2023/06/07 | 303 | graphics/asymptote/examples/tensor.asy
+2023/06/07 | 547 | graphics/asymptote/examples/tetra.asy
+2023/06/07 | 312 | graphics/asymptote/examples/textpath.asy
+2023/06/07 | 8429 | graphics/asymptote/examples/thermodynamics.asy
+2023/06/07 | 576 | graphics/asymptote/examples/threeviews.asy
+2023/06/07 | 104 | graphics/asymptote/examples/tiling.asy
+2023/06/07 | 419 | graphics/asymptote/examples/torus.asy
+2023/06/07 | 188 | graphics/asymptote/examples/transparency.asy
+2023/06/07 | 250 | graphics/asymptote/examples/transparentCubes.asy
+2023/06/07 | 602 | graphics/asymptote/examples/treetest.asy
+2023/06/07 | 589 | graphics/asymptote/examples/trefoilknot.asy
+2023/06/07 | 987 | graphics/asymptote/examples/triads.asy
+2023/06/07 | 207 | graphics/asymptote/examples/triangle.asy
+2023/06/07 | 441 | graphics/asymptote/examples/triangles.asy
+2023/06/07 | 251 | graphics/asymptote/examples/triceratops.asy
+2023/06/07 | 291 | graphics/asymptote/examples/trumpet.asy
+2023/06/07 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
+2023/06/07 | 40665 | graphics/asymptote/examples/tvgen.asy
+2023/06/07 | 868 | graphics/asymptote/examples/twistedtubes.asy
+2023/06/07 | 433 | graphics/asymptote/examples/twoSpheres.asy
+2023/06/07 | 24924 | graphics/asymptote/examples/uhrturm.obj
+2023/06/07 | 322 | graphics/asymptote/examples/unitcircle.asy
+2023/06/07 | 430 | graphics/asymptote/examples/unitoctant.asy
+2023/06/07 | 714 | graphics/asymptote/examples/unitoctantx.asy
+2023/06/07 | 199 | graphics/asymptote/examples/upint.asy
+2023/06/07 | 525 | graphics/asymptote/examples/vectorfield3.asy
+2023/06/07 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
+2023/06/07 | 839 | graphics/asymptote/examples/venn3.asy
+2023/06/07 | 626 | graphics/asymptote/examples/venn.asy
+2023/06/07 | 802 | graphics/asymptote/examples/vertexshading.asy
+2023/06/07 | 714 | graphics/asymptote/examples/Viviani.asy
+2023/06/07 | 360 | graphics/asymptote/examples/washer.asy
+2023/06/07 | 1010 | graphics/asymptote/examples/washermethod.asy
+2023/06/07 | 628 | graphics/asymptote/examples/wedge.asy
+2023/06/07 | 1030 | graphics/asymptote/examples/workcone.asy
+2023/06/07 | 978 | graphics/asymptote/examples/worksheet.asy
+2023/06/07 | 2626 | graphics/asymptote/examples/worldmap.asy
+2023/06/07 | 1261761 | graphics/asymptote/examples/worldmap.dat
+2023/06/07 | 580 | graphics/asymptote/examples/xsin1x.asy
+2023/06/07 | 3739 | graphics/asymptote/examples/xstitch.asy
+2023/06/07 | 743 | graphics/asymptote/examples/xxsq01.asy
+2023/06/07 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
+2023/06/07 | 825 | graphics/asymptote/examples/xxsq01y.asy
+2023/06/07 | 222 | graphics/asymptote/examples/yingyang.asy
+2023/06/07 | 37889 | graphics/asymptote/exp.cc
+2023/06/07 | 30307 | graphics/asymptote/exp.h
+2023/06/07 | 1188 | graphics/asymptote/EXRFiles.cc
+2023/06/07 | 454 | graphics/asymptote/EXRFiles.h
+2023/06/07 | 178 | graphics/asymptote/fftw++asy.cc
+2023/06/07 | 1794 | graphics/asymptote/fftw++.cc
+2023/06/07 | 43960 | graphics/asymptote/fftw++.h
+2023/06/07 | 5748 | graphics/asymptote/fileio.cc
+2023/06/07 | 21343 | graphics/asymptote/fileio.h
+2023/06/07 | 1245 | graphics/asymptote/findsym.pl
+2023/06/07 | 1020 | graphics/asymptote/flatguide.cc
+2023/06/07 | 4209 | graphics/asymptote/flatguide.h
+2023/06/07 | 654 | graphics/asymptote/fpu.h
+2023/06/07 | 2164 | graphics/asymptote/frame.h
+2023/06/07 | 9765 | graphics/asymptote/fundec.cc
+2023/06/07 | 4895 | graphics/asymptote/fundec.h
+2023/06/07 | 1210929 | graphics/asymptote/gc-8.2.4.tar.gz
+2023/06/07 | 6425 | graphics/asymptote/generate_enums.py
+2023/06/07 | 3153 | graphics/asymptote/genv.cc
+2023/06/07 | 1626 | graphics/asymptote/genv.h
+2023/06/07 | 4520 | graphics/asymptote/getopt1.c
+2023/06/07 | 30147 | graphics/asymptote/getopt.c
+2023/06/07 | 6650 | graphics/asymptote/getopt.h
+2023/06/07 | 202 | graphics/asymptote/glew.c
+2023/06/07 | 1235678 | graphics/asymptote/GL/glew.c
+2023/06/07 | 1186601 | graphics/asymptote/GL/glew.h
+2023/06/07 | 73435 | graphics/asymptote/GL/glxew.h
+2023/06/07 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
+2023/06/07 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
+2023/06/07 | 66101 | graphics/asymptote/glrender.cc
+2023/06/07 | 9319 | graphics/asymptote/glrender.h
+2023/06/07 | 818 | graphics/asymptote/GLTextures.cc
+2023/06/07 | 3634 | graphics/asymptote/GLTextures.h
+2023/06/07 | 63314 | graphics/asymptote/GL/wglew.h
+2023/06/07 | 50437 | graphics/asymptote/gsl.cc
+2023/06/07 | 22 | graphics/asymptote/GUI/configs/__init__.py
+2023/06/07 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
+2023/06/07 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
+2023/06/07 | 13787 | graphics/asymptote/GUI/ContextWindow.py
+2023/06/07 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
+2023/06/07 | 100 | graphics/asymptote/GUI/DebugFlags.py
+2023/06/07 | 1149 | graphics/asymptote/guide.cc
+2023/06/07 | 294 | graphics/asymptote/guideflags.h
+2023/06/07 | 6725 | graphics/asymptote/guide.h
+2023/06/07 | 1751 | graphics/asymptote/GUI/GuidesManager.py
+2023/06/07 | 175503 | graphics/asymptote/GUI/icons_rc.py
+2023/06/07 | 23 | graphics/asymptote/GUI/__init__.py
+2023/06/07 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
+2023/06/07 | 5272 | graphics/asymptote/GUI/labelEditor.py
+2023/06/07 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
+2023/06/07 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
+2023/06/07 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
+2023/06/07 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
+2023/06/07 | 2948 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
+2023/06/07 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
+2023/06/07 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+2023/06/07 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
+2023/06/07 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
+2023/06/07 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
+2023/06/07 | 57 | graphics/asymptote/GUI/requirements.txt
+2023/06/07 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
+2023/06/07 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
+2023/06/07 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
+2023/06/07 | 790 | graphics/asymptote/GUI/res/icons/android-camera.svg
+2023/06/07 | 683 | graphics/asymptote/GUI/res/icons/android-close.svg
+2023/06/07 | 1302 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
+2023/06/07 | 664 | graphics/asymptote/GUI/res/icons/android-delete.svg
+2023/06/07 | 620 | graphics/asymptote/GUI/res/icons/android-done.svg
+2023/06/07 | 810 | graphics/asymptote/GUI/res/icons/android-expand.svg
+2023/06/07 | 840 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
+2023/06/07 | 1467 | graphics/asymptote/GUI/res/icons/android-hand.svg
+2023/06/07 | 1108 | graphics/asymptote/GUI/res/icons/android-locate.svg
+2023/06/07 | 752 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
+2023/06/07 | 831 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
+2023/06/07 | 795 | graphics/asymptote/GUI/res/icons/android-refresh.svg
+2023/06/07 | 705 | graphics/asymptote/GUI/res/icons/arrow-move.svg
+2023/06/07 | 631 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
+2023/06/07 | 986 | graphics/asymptote/GUI/res/icons/brush.svg
+2023/06/07 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
+2023/06/07 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
+2023/06/07 | 111 | graphics/asymptote/GUI/res/icons/center.asy
+2023/06/07 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
+2023/06/07 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
+2023/06/07 | 858 | graphics/asymptote/GUI/res/icons/center.svg
+2023/06/07 | 771 | graphics/asymptote/GUI/res/icons/check.svg
+2023/06/07 | 1000 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
+2023/06/07 | 985 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
+2023/06/07 | 743 | graphics/asymptote/GUI/res/icons/circle.svg
+2023/06/07 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
+2023/06/07 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
+2023/06/07 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
+2023/06/07 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
+2023/06/07 | 829 | graphics/asymptote/GUI/res/icons/close-round.svg
+2023/06/07 | 1180 | graphics/asymptote/GUI/res/icons/code.svg
+2023/06/07 | 863 | graphics/asymptote/GUI/res/icons/edit.svg
+2023/06/07 | 988 | graphics/asymptote/GUI/res/icons/eye.svg
+2023/06/07 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
+2023/06/07 | 1732 | graphics/asymptote/GUI/res/icons/grid.svg
+2023/06/07 | 951 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
+2023/06/07 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
+2023/06/07 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
+2023/06/07 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
+2023/06/07 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
+2023/06/07 | 750 | graphics/asymptote/GUI/res/icons/plus-round.svg
+2023/06/07 | 1808 | graphics/asymptote/GUI/res/icons.qrc
+2023/06/07 | 1090 | graphics/asymptote/GUI/res/icons/redo.svg
+2023/06/07 | 663 | graphics/asymptote/GUI/res/icons/save.svg
+2023/06/07 | 1899 | graphics/asymptote/GUI/res/icons/social-python.svg
+2023/06/07 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
+2023/06/07 | 284 | graphics/asymptote/GUI/res/icons/text.svg
+2023/06/07 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
+2023/06/07 | 1047 | graphics/asymptote/GUI/res/icons/undo.svg
+2023/06/07 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
+2023/06/07 | 393 | graphics/asymptote/GUI/setup.py
+2023/06/07 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
+2023/06/07 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
+2023/06/07 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
+2023/06/07 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
+2023/06/07 | 98084 | graphics/asymptote/GUI/Window1.py
+2023/06/07 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
+2023/06/07 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
+2023/06/07 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
+2023/06/07 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
+2023/06/07 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
+2023/06/07 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
+2023/06/07 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
+2023/06/07 | 79003 | graphics/asymptote/GUI/windows/window1.ui
+2023/06/07 | 67146 | graphics/asymptote/GUI/xasy2asy.py
+2023/06/07 | 1183 | graphics/asymptote/GUI/xasyArgs.py
+2023/06/07 | 13816 | graphics/asymptote/GUI/xasyBezierInterface.py
+2023/06/07 | 4766 | graphics/asymptote/GUI/xasyFile.py
+2023/06/07 | 6717 | graphics/asymptote/GUI/xasyOptions.py
+2023/06/07 | 611 | graphics/asymptote/GUI/xasy.py
+2023/06/07 | 586 | graphics/asymptote/GUI/xasyStrings.py
+2023/06/07 | 733 | graphics/asymptote/GUI/xasySvg.py
+2023/06/07 | 1015 | graphics/asymptote/GUI/xasyTransform.py
+2023/06/07 | 1542 | graphics/asymptote/GUI/xasyUtils.py
+2023/06/07 | 238 | graphics/asymptote/GUI/xasyValidator.py
+2023/06/07 | 12823 | graphics/asymptote/impdatum.cc
+2023/06/07 | 127 | graphics/asymptote/index.html
+2023/06/07 | 10445 | graphics/asymptote/INSTALL
+2023/06/07 | 15645 | graphics/asymptote/install-sh
+2023/06/07 | 1982 | graphics/asymptote/inst.h
+2023/06/07 | 5689 | graphics/asymptote/interact.cc
+2023/06/07 | 1345 | graphics/asymptote/interact.h
+2023/06/07 | 5733 | graphics/asymptote/item.h
+2023/06/07 | 11221 | graphics/asymptote/jsfile.cc
+2023/06/07 | 2623 | graphics/asymptote/jsfile.h
+2023/06/07 | 609 | graphics/asymptote/keywords.cc
+2023/06/07 | 1253 | graphics/asymptote/keywords.pl
+2023/06/07 | 22345 | graphics/asymptote/knot.cc
+2023/06/07 | 12259 | graphics/asymptote/knot.h
+2023/06/07 | 342 | graphics/asymptote/lexical.h
+2023/06/07 | 83449 | graphics/asymptote/lex.yy.cc
+2023/06/07 | 506313 | graphics/asymptote/libatomic_ops-7.6.12.tar.gz
+2023/06/07 | 35147 | graphics/asymptote/LICENSE
+2023/06/07 | 7639 | graphics/asymptote/LICENSE.LESSER
+2023/06/07 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
+2023/06/07 | 2194 | graphics/asymptote/locate.cc
+2023/06/07 | 631 | graphics/asymptote/locate.h
+2023/06/07 | 12216 | graphics/asymptote/LspCpp/CMakeLists.txt
+2023/06/07 | 6611 | graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
+2023/06/07 | 4923 | graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
+2023/06/07 | 6934 | graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
+2023/06/07 | 8092 | graphics/asymptote/LspCpp/examples/WebsocketExample.cpp
+2023/06/07 | 492 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Cancellation.h
+2023/06/07 | 1480 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Condition.h
+2023/06/07 | 7671 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Context.h
+2023/06/07 | 1831 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Endpoint.h
+2023/06/07 | 5114 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/future.h
+2023/06/07 | 217 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/GCThreadContext.h
+2023/06/07 | 2901 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/json.h
+2023/06/07 | 1545 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsRequestId.h
+2023/06/07 | 2013 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsResponseMessage.h
+2023/06/07 | 30638 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/macro_map.h
+2023/06/07 | 751 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/message.h
+2023/06/07 | 6964 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageIssue.h
+2023/06/07 | 2418 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageJsonHandler.h
+2023/06/07 | 260 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageProducer.h
+2023/06/07 | 1832 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/NotificationInMessage.h
+2023/06/07 | 158 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/optionalVersion.h
+2023/06/07 | 14139 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RemoteEndPoint.h
+2023/06/07 | 2205 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RequestInMessage.h
+2023/06/07 | 1765 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/ScopeExit.h
+2023/06/07 | 11526 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
+2023/06/07 | 5366 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/stream.h
+2023/06/07 | 1299 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/StreamMessageProducer.h
+2023/06/07 | 1182 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/TcpServer.h
+2023/06/07 | 6619 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
+2023/06/07 | 6369 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/traits.h
+2023/06/07 | 2424 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/WebSocketServer.h
+2023/06/07 | 790 | graphics/asymptote/LspCpp/include/LibLsp/lsp/AbsolutePath.h
+2023/06/07 | 11766 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
+2023/06/07 | 1658 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/registerCapability.h
+2023/06/07 | 1103 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/unregisterCapability.h
+2023/06/07 | 3470 | graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
+2023/06/07 | 264 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Directory.h
+2023/06/07 | 656 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
+2023/06/07 | 646 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
+2023/06/07 | 390 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/buildWorkspace.h
+2023/06/07 | 891 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
+2023/06/07 | 869 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
+2023/06/07 | 1142 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
+2023/06/07 | 722 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
+2023/06/07 | 294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/classFileContents.h
+2023/06/07 | 1158 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/codeActionResult.h
+2023/06/07 | 973 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/executeCommand.h
+2023/06/07 | 606 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/findLinks.h
+2023/06/07 | 586 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateAccessors.h
+2023/06/07 | 645 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateConstructors.h
+2023/06/07 | 870 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
+2023/06/07 | 822 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
+2023/06/07 | 533 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateToString.h
+2023/06/07 | 2009 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
+2023/06/07 | 2353 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
+2023/06/07 | 325 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
+2023/06/07 | 320 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/Move.h
+2023/06/07 | 301 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/organizeImports.h
+2023/06/07 | 1075 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/OverridableMethod.h
+2023/06/07 | 309 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
+2023/06/07 | 846 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
+2023/06/07 | 729 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
+2023/06/07 | 243 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
+2023/06/07 | 5169 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
+2023/06/07 | 196 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
+2023/06/07 | 482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialized.h
+2023/06/07 | 1391 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialize.h
+2023/06/07 | 3383 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
+2023/06/07 | 1184 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
+2023/06/07 | 21271 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
+2023/06/07 | 24043 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
+2023/06/07 | 7474 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
+2023/06/07 | 700 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
+2023/06/07 | 473 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
+2023/06/07 | 5818 | graphics/asymptote/LspCpp/include/LibLsp/lsp/IProgressMonitor.h
+2023/06/07 | 3526 | graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
+2023/06/07 | 2033 | graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
+2023/06/07 | 4118 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lru_cache.h
+2023/06/07 | 4782 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
+2023/06/07 | 1354 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
+2023/06/07 | 1475 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
+2023/06/07 | 881 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsDocumentUri.h
+2023/06/07 | 1389 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
+2023/06/07 | 1174 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
+2023/06/07 | 1579 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_code_action.h
+2023/06/07 | 7184 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
+2023/06/07 | 3978 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
+2023/06/07 | 1291 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsPosition.h
+2023/06/07 | 941 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsRange.h
+2023/06/07 | 3630 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
+2023/06/07 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentEdit.h
+2023/06/07 | 453 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentIdentifier.h
+2023/06/07 | 747 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentItem.h
+2023/06/07 | 714 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
+2023/06/07 | 2688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
+2023/06/07 | 1183 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
+2023/06/07 | 2615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
+2023/06/07 | 3915 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/Markup.h
+2023/06/07 | 45222 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/string_ref.h
+2023/06/07 | 74 | graphics/asymptote/LspCpp/include/LibLsp/lsp/method_type.h
+2023/06/07 | 580 | graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
+2023/06/07 | 376 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ParentProcessWatcher.h
+2023/06/07 | 1318 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProcessIoService.h
+2023/06/07 | 218 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProtocolJsonHandler.h
+2023/06/07 | 3078 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
+2023/06/07 | 1192 | graphics/asymptote/LspCpp/include/LibLsp/lsp/SimpleTimer.h
+2023/06/07 | 4718 | graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
+2023/06/07 | 4089 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
+2023/06/07 | 2787 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_action.h
+2023/06/07 | 1170 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
+2023/06/07 | 1819 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/colorPresentation.h
+2023/06/07 | 2499 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
+2023/06/07 | 934 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/declaration_definition.h
+2023/06/07 | 1638 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
+2023/06/07 | 800 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_close.h
+2023/06/07 | 924 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
+2023/06/07 | 1175 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
+2023/06/07 | 808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
+2023/06/07 | 2182 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/documentColor.h
+2023/06/07 | 1235 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
+2023/06/07 | 1829 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
+2023/06/07 | 1875 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/foldingRange.h
+2023/06/07 | 848 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/formatting.h
+2023/06/07 | 573 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/highlight.h
+2023/06/07 | 1796 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
+2023/06/07 | 488 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/implementation.h
+2023/06/07 | 1421 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
+2023/06/07 | 1138 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/onTypeFormatting.h
+2023/06/07 | 1065 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
+2023/06/07 | 770 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/publishDiagnostics.h
+2023/06/07 | 900 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/range_formatting.h
+2023/06/07 | 1243 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
+2023/06/07 | 1147 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/rename.h
+2023/06/07 | 223 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCodeLens.h
+2023/06/07 | 489 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCompletionItem.h
+2023/06/07 | 873 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
+2023/06/07 | 1550 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
+2023/06/07 | 2868 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/semanticHighlighting.h
+2023/06/07 | 11227 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
+2023/06/07 | 3349 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
+2023/06/07 | 498 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/type_definition.h
+2023/06/07 | 4674 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
+2023/06/07 | 2182 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
+2023/06/07 | 4872 | graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
+2023/06/07 | 2407 | graphics/asymptote/LspCpp/include/LibLsp/lsp/windows/MessageNotify.h
+2023/06/07 | 2161 | graphics/asymptote/LspCpp/include/LibLsp/lsp/working_files.h
+2023/06/07 | 1168 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
+2023/06/07 | 1239 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h
+2023/06/07 | 615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_configuration.h
+2023/06/07 | 1352 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_watched_files.h
+2023/06/07 | 1423 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
+2023/06/07 | 794 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/execute_command.h
+2023/06/07 | 428 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/symbol.h
+2023/06/07 | 1008 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
+2023/06/07 | 1066 | graphics/asymptote/LspCpp/LICENSE
+2023/06/07 | 1203 | graphics/asymptote/LspCpp/README.md
+2023/06/07 | 964 | graphics/asymptote/LspCpp/src/jsonrpc/Context.cpp
+2023/06/07 | 1388 | graphics/asymptote/LspCpp/src/jsonrpc/Endpoint.cpp
+2023/06/07 | 277 | graphics/asymptote/LspCpp/src/jsonrpc/GCThreadContext.cpp
+2023/06/07 | 2804 | graphics/asymptote/LspCpp/src/jsonrpc/message.cpp
+2023/06/07 | 1532 | graphics/asymptote/LspCpp/src/jsonrpc/MessageJsonHandler.cpp
+2023/06/07 | 24104 | graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
+2023/06/07 | 5242 | graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
+2023/06/07 | 7133 | graphics/asymptote/LspCpp/src/jsonrpc/StreamMessageProducer.cpp
+2023/06/07 | 9641 | graphics/asymptote/LspCpp/src/jsonrpc/TcpServer.cpp
+2023/06/07 | 465 | graphics/asymptote/LspCpp/src/jsonrpc/threaded_queue.cpp
+2023/06/07 | 10632 | graphics/asymptote/LspCpp/src/jsonrpc/WebSocketServer.cpp
+2023/06/07 | 1376 | graphics/asymptote/LspCpp/src/lsp/initialize.cpp
+2023/06/07 | 30716 | graphics/asymptote/LspCpp/src/lsp/lsp.cpp
+2023/06/07 | 2289 | graphics/asymptote/LspCpp/src/lsp/lsp_diagnostic.cpp
+2023/06/07 | 33741 | graphics/asymptote/LspCpp/src/lsp/Markup.cpp
+2023/06/07 | 4269 | graphics/asymptote/LspCpp/src/lsp/ParentProcessWatcher.cpp
+2023/06/07 | 29193 | graphics/asymptote/LspCpp/src/lsp/ProtocolJsonHandler.cpp
+2023/06/07 | 13776 | graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
+2023/06/07 | 18860 | graphics/asymptote/LspCpp/src/lsp/utils.cpp
+2023/06/07 | 5358 | graphics/asymptote/LspCpp/src/lsp/working_files.cpp
+2023/06/07 | 2662 | graphics/asymptote/LspCpp/third_party/rapidjson/appveyor.yml
+2023/06/07 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/abcde.txt
+2023/06/07 | 582 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/glossary.json
+2023/06/07 | 872 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/menu.json
+2023/06/07 | 103 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/readme.txt
+2023/06/07 | 687491 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/sample.json
+2023/06/07 | 3467 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/webapp.json
+2023/06/07 | 601 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/widget.json
+2023/06/07 | 4375 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/draft-04/schema
+2023/06/07 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16bebom.json
+2023/06/07 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16be.json
+2023/06/07 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16lebom.json
+2023/06/07 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16le.json
+2023/06/07 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32bebom.json
+2023/06/07 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32be.json
+2023/06/07 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32lebom.json
+2023/06/07 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32le.json
+2023/06/07 | 319 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8bom.json
+2023/06/07 | 316 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8.json
+2023/06/07 | 58 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail10.json
+2023/06/07 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail11.json
+2023/06/07 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail12.json
+2023/06/07 | 43 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail13.json
+2023/06/07 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail14.json
+2023/06/07 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail15.json
+2023/06/07 | 8 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail16.json
+2023/06/07 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail17.json
+2023/06/07 | 50 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail18.json
+2023/06/07 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail19.json
+2023/06/07 | 60 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail1.json
+2023/06/07 | 23 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail20.json
+2023/06/07 | 32 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail21.json
+2023/06/07 | 33 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail22.json
+2023/06/07 | 20 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail23.json
+2023/06/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail24.json
+2023/06/07 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail25.json
+2023/06/07 | 38 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail26.json
+2023/06/07 | 14 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail27.json
+2023/06/07 | 15 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail28.json
+2023/06/07 | 4 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail29.json
+2023/06/07 | 17 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail2.json
+2023/06/07 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail30.json
+2023/06/07 | 7 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail31.json
+2023/06/07 | 40 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail32.json
+2023/06/07 | 12 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail33.json
+2023/06/07 | 37 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail3.json
+2023/06/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail4.json
+2023/06/07 | 24 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail5.json
+2023/06/07 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail6.json
+2023/06/07 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail7.json
+2023/06/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail8.json
+2023/06/07 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail9.json
+2023/06/07 | 1441 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass1.json
+2023/06/07 | 52 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass2.json
+2023/06/07 | 148 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass3.json
+2023/06/07 | 173 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/readme.txt
+2023/06/07 | 9059 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/bin/jsonschema_suite
+2023/06/07 | 1057 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/LICENSE
+2023/06/07 | 4787 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/README.md
+2023/06/07 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json
+2023/06/07 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/integer.json
+2023/06/07 | 110 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/subSchemas.json
+2023/06/07 | 2257 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json
+2023/06/07 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json
+2023/06/07 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/default.json
+2023/06/07 | 2989 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/dependencies.json
+2023/06/07 | 1936 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/disallow.json
+2023/06/07 | 1544 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json
+2023/06/07 | 1964 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/enum.json
+2023/06/07 | 2591 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/extends.json
+2023/06/07 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/items.json
+2023/06/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maximum.json
+2023/06/07 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxItems.json
+2023/06/07 | 895 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxLength.json
+2023/06/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minimum.json
+2023/06/07 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minItems.json
+2023/06/07 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minLength.json
+2023/06/07 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json
+2023/06/07 | 6751 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/format.json
+2023/06/07 | 463 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json
+2023/06/07 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json
+2023/06/07 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/pattern.json
+2023/06/07 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json
+2023/06/07 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/properties.json
+2023/06/07 | 4385 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/ref.json
+2023/06/07 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/refRemote.json
+2023/06/07 | 1282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/required.json
+2023/06/07 | 13217 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/type.json
+2023/06/07 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json
+2023/06/07 | 2282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json
+2023/06/07 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json
+2023/06/07 | 3025 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/allOf.json
+2023/06/07 | 1608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/anyOf.json
+2023/06/07 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/default.json
+2023/06/07 | 854 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/definitions.json
+2023/06/07 | 3139 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/dependencies.json
+2023/06/07 | 1975 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/enum.json
+2023/06/07 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/items.json
+2023/06/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maximum.json
+2023/06/07 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxItems.json
+2023/06/07 | 896 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxLength.json
+2023/06/07 | 759 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json
+2023/06/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minimum.json
+2023/06/07 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minItems.json
+2023/06/07 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minLength.json
+2023/06/07 | 725 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minProperties.json
+2023/06/07 | 1525 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json
+2023/06/07 | 2266 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/not.json
+2023/06/07 | 1607 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/oneOf.json
+2023/06/07 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json
+2023/06/07 | 4608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/format.json
+2023/06/07 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json
+2023/06/07 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/pattern.json
+2023/06/07 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json
+2023/06/07 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/properties.json
+2023/06/07 | 4366 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/ref.json
+2023/06/07 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/refRemote.json
+2023/06/07 | 923 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/required.json
+2023/06/07 | 9298 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/type.json
+2023/06/07 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json
+2023/06/07 | 134 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tox.ini
+2023/06/07 | 30003 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/alotofkeys.json
+2023/06/07 | 849 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/booleans.json
+2023/06/07 | 1698 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/floats.json
+2023/06/07 | 4202 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/guids.json
+2023/06/07 | 1098 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/integers.json
+2023/06/07 | 15142 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/mixed.json
+2023/06/07 | 802 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/nulls.json
+2023/06/07 | 33764 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/paragraphs.json
+2023/06/07 | 86 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/readme.txt
+2023/06/07 | 3150 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
+2023/06/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/allOf_address.json
+2023/06/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/anyOf_address.json
+2023/06/07 | 1315 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/idandref.json
+2023/06/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/oneOf_address.json
+2023/06/07 | 6818 | graphics/asymptote/LspCpp/third_party/rapidjson/CHANGELOG.md
+2023/06/07 | 10429 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
+2023/06/07 | 828 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeModules/FindGTestSrc.cmake
+2023/06/07 | 2175 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/LICENSE
+2023/06/07 | 2729 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
+2023/06/07 | 678 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/README.md
+2023/06/07 | 1052 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/CMakeLists.txt
+2023/06/07 | 912 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.dot
+2023/06/07 | 16569 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.png
+2023/06/07 | 2239 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.dot
+2023/06/07 | 37281 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.png
+2023/06/07 | 1915 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.dot
+2023/06/07 | 92378 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.png
+2023/06/07 | 176 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/makefile
+2023/06/07 | 935 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.dot
+2023/06/07 | 16081 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.png
+2023/06/07 | 1502 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.dot
+2023/06/07 | 41517 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.png
+2023/06/07 | 1454 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.dot
+2023/06/07 | 36371 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.png
+2023/06/07 | 1427 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.dot
+2023/06/07 | 32887 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.png
+2023/06/07 | 1435 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.dot
+2023/06/07 | 43670 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.png
+2023/06/07 | 1456 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.dot
+2023/06/07 | 44634 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.png
+2023/06/07 | 1775 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.dot
+2023/06/07 | 99993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.png
+2023/06/07 | 15464 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.md
+2023/06/07 | 15393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.zh-cn.md
+2023/06/07 | 103393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.in
+2023/06/07 | 103478 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.zh-cn.in
+2023/06/07 | 6708 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.md
+2023/06/07 | 6860 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.zh-cn.md
+2023/06/07 | 15364 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.md
+2023/06/07 | 15030 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.zh-cn.md
+2023/06/07 | 5063 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
+2023/06/07 | 4805 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.zh-cn.md
+2023/06/07 | 22426 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.md
+2023/06/07 | 21956 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.zh-cn.md
+2023/06/07 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/docker/debian/Dockerfile
+2023/06/07 | 5259 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.png
+2023/06/07 | 4230 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.svg
+2023/06/07 | 6572 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/doxygenextra.css
+2023/06/07 | 6090 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/DoxygenLayout.xml
+2023/06/07 | 256 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/footer.html
+2023/06/07 | 1137 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/header.html
+2023/06/07 | 363 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/npm.md
+2023/06/07 | 1268 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.md
+2023/06/07 | 1236 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.zh-cn.md
+2023/06/07 | 8883 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.md
+2023/06/07 | 8532 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.zh-cn.md
+2023/06/07 | 21276 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.md
+2023/06/07 | 19967 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.zh-cn.md
+2023/06/07 | 18222 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
+2023/06/07 | 9765 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.zh-cn.md
+2023/06/07 | 14531 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.md
+2023/06/07 | 14325 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.zh-cn.md
+2023/06/07 | 22121 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.md
+2023/06/07 | 21546 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.zh-cn.md
+2023/06/07 | 7125 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.cpp
+2023/06/07 | 3563 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.h
+2023/06/07 | 6849 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archivertest.cpp
+2023/06/07 | 2576 | graphics/asymptote/LspCpp/third_party/rapidjson/example/capitalize/capitalize.cpp
+2023/06/07 | 982 | graphics/asymptote/LspCpp/third_party/rapidjson/example/CMakeLists.txt
+2023/06/07 | 1014 | graphics/asymptote/LspCpp/third_party/rapidjson/example/condense/condense.cpp
+2023/06/07 | 5933 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkeydom/filterkeydom.cpp
+2023/06/07 | 4963 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkey/filterkey.cpp
+2023/06/07 | 5996 | graphics/asymptote/LspCpp/third_party/rapidjson/example/jsonx/jsonx.cpp
+2023/06/07 | 9349 | graphics/asymptote/LspCpp/third_party/rapidjson/example/lookaheadparser/lookaheadparser.cpp
+2023/06/07 | 2814 | graphics/asymptote/LspCpp/third_party/rapidjson/example/messagereader/messagereader.cpp
+2023/06/07 | 5129 | graphics/asymptote/LspCpp/third_party/rapidjson/example/parsebyparts/parsebyparts.cpp
+2023/06/07 | 2245 | graphics/asymptote/LspCpp/third_party/rapidjson/example/prettyauto/prettyauto.cpp
+2023/06/07 | 1019 | graphics/asymptote/LspCpp/third_party/rapidjson/example/pretty/pretty.cpp
+2023/06/07 | 8702 | graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
+2023/06/07 | 4581 | graphics/asymptote/LspCpp/third_party/rapidjson/example/serialize/serialize.cpp
+2023/06/07 | 685 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simpledom/simpledom.cpp
+2023/06/07 | 2255 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplepullreader/simplepullreader.cpp
+2023/06/07 | 1866 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplereader/simplereader.cpp
+2023/06/07 | 1026 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplewriter/simplewriter.cpp
+2023/06/07 | 1610 | graphics/asymptote/LspCpp/third_party/rapidjson/example/sortkeys/sortkeys.cpp
+2023/06/07 | 942 | graphics/asymptote/LspCpp/third_party/rapidjson/example/traverseaspointer.cpp
+2023/06/07 | 6253 | graphics/asymptote/LspCpp/third_party/rapidjson/example/tutorial/tutorial.cpp
+2023/06/07 | 94 | graphics/asymptote/LspCpp/third_party/rapidjson/include_dirs.js
+2023/06/07 | 22580 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
+2023/06/07 | 2260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h
+2023/06/07 | 133685 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
+2023/06/07 | 10641 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodedstream.h
+2023/06/07 | 29242 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodings.h
+2023/06/07 | 13025 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
+2023/06/07 | 13353 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
+2023/06/07 | 2974 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filereadstream.h
+2023/06/07 | 3119 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filewritestream.h
+2023/06/07 | 4007 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/fwd.h
+2023/06/07 | 9252 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
+2023/06/07 | 2045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/clzll.h
+2023/06/07 | 11580 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
+2023/06/07 | 8469 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
+2023/06/07 | 2969 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/ieee754.h
+2023/06/07 | 10110 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/itoa.h
+2023/06/07 | 6616 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/meta.h
+2023/06/07 | 3567 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/pow10.h
+2023/06/07 | 26102 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/regex.h
+2023/06/07 | 7157 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/stack.h
+2023/06/07 | 2721 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strfunc.h
+2023/06/07 | 9032 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strtod.h
+2023/06/07 | 1398 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/swap.h
+2023/06/07 | 4051 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/istreamwrapper.h
+2023/06/07 | 2534 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorybuffer.h
+2023/06/07 | 2642 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorystream.h
+2023/06/07 | 8361 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h
+2023/06/07 | 9375 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h
+2023/06/07 | 2303 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/ostreamwrapper.h
+2023/06/07 | 63574 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
+2023/06/07 | 10504 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/prettywriter.h
+2023/06/07 | 25584 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
+2023/06/07 | 94332 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
+2023/06/07 | 146751 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
+2023/06/07 | 6732 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stream.h
+2023/06/07 | 3968 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stringbuffer.h
+2023/06/07 | 19752 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/uri.h
+2023/06/07 | 26817 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/writer.h
+2023/06/07 | 355 | graphics/asymptote/LspCpp/third_party/rapidjson/library.json
+2023/06/07 | 5152 | graphics/asymptote/LspCpp/third_party/rapidjson/license.txt
+2023/06/07 | 561 | graphics/asymptote/LspCpp/third_party/rapidjson/package.json
+2023/06/07 | 3407 | graphics/asymptote/LspCpp/third_party/rapidjson/rapidjson.autopkg
+2023/06/07 | 983 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfig.cmake.in
+2023/06/07 | 469 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfigVersion.cmake.in
+2023/06/07 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSON.pc.in
+2023/06/07 | 11146 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.md
+2023/06/07 | 8795 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.zh-cn.md
+2023/06/07 | 491 | graphics/asymptote/LspCpp/third_party/rapidjson/test/CMakeLists.txt
+2023/06/07 | 834 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/CMakeLists.txt
+2023/06/07 | 35461 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/misctest.cpp
+2023/06/07 | 971 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.cpp
+2023/06/07 | 5752 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.h
+2023/06/07 | 4438 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/platformtest.cpp
+2023/06/07 | 16298 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/rapidjsontest.cpp
+2023/06/07 | 7218 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/schematest.cpp
+2023/06/07 | 9036 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/allocatorstest.cpp
+2023/06/07 | 4416 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/bigintegertest.cpp
+2023/06/07 | 1088 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/clzlltest.cpp
+2023/06/07 | 3060 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/CMakeLists.txt
+2023/06/07 | 3740 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
+2023/06/07 | 21271 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/documenttest.cpp
+2023/06/07 | 3437 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/dtoatest.cpp
+2023/06/07 | 11996 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
+2023/06/07 | 19321 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodingstest.cpp
+2023/06/07 | 4381 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/filestreamtest.cpp
+2023/06/07 | 5832 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/fwdtest.cpp
+2023/06/07 | 5415 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/istreamwrappertest.cpp
+2023/06/07 | 3956 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/itoatest.cpp
+2023/06/07 | 4733 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/jsoncheckertest.cpp
+2023/06/07 | 2396 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/namespacetest.cpp
+2023/06/07 | 2477 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
+2023/06/07 | 1452 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/platformtest.cpp
+2023/06/07 | 62764 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
+2023/06/07 | 10310 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/prettywritertest.cpp
+2023/06/07 | 98539 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/readertest.cpp
+2023/06/07 | 17258 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/regextest.cpp
+2023/06/07 | 150794 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
+2023/06/07 | 7117 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
+2023/06/07 | 1312 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strfunctest.cpp
+2023/06/07 | 5540 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/stringbuffertest.cpp
+2023/06/07 | 4248 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strtodtest.cpp
+2023/06/07 | 1523 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.cpp
+2023/06/07 | 3967 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.h
+2023/06/07 | 28512 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
+2023/06/07 | 57566 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
+2023/06/07 | 17907 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/writertest.cpp
+2023/06/07 | 369 | graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
+2023/06/07 | 3294 | graphics/asymptote/LspCpp/third_party/rapidjson/travis-doxygen.sh
+2023/06/07 | 1216 | graphics/asymptote/LspCpp/third_party/uri/CHANGELOG.md
+2023/06/07 | 648 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
+2023/06/07 | 3036 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
+2023/06/07 | 188 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/cmake_clean.cmake
+2023/06/07 | 113 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
+2023/06/07 | 107 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.ts
+2023/06/07 | 461 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
+2023/06/07 | 22 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/progress.make
+2023/06/07 | 2 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/progress.marks
+2023/06/07 | 1694 | graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
+2023/06/07 | 3282 | graphics/asymptote/LspCpp/third_party/uri/CMakeLists.txt
+2023/06/07 | 6104 | graphics/asymptote/LspCpp/third_party/uri/deps/BUILD.bazel
+2023/06/07 | 4160 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/linux-presubmit.sh
+2023/06/07 | 2608 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/macos-presubmit.sh
+2023/06/07 | 784 | graphics/asymptote/LspCpp/third_party/uri/deps/CMakeLists.txt
+2023/06/07 | 5683 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTING.md
+2023/06/07 | 2223 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTORS
+2023/06/07 | 86552 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/advanced.md
+2023/06/07 | 342 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/community_created_documentation.md
+2023/06/07 | 18 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_config.yml
+2023/06/07 | 1200 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_data/navigation.yml
+2023/06/07 | 29900 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/faq.md
+2023/06/07 | 7364 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cheat_sheet.md
+2023/06/07 | 145014 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cook_book.md
+2023/06/07 | 14980 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_faq.md
+2023/06/07 | 29203 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_for_dummies.md
+2023/06/07 | 1034 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/index.md
+2023/06/07 | 2319 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_layouts/default.html
+2023/06/07 | 5062 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/pkgconfig.md
+2023/06/07 | 929 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/platforms.md
+2023/06/07 | 19136 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/primer.md
+2023/06/07 | 5204 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-bazel.md
+2023/06/07 | 5054 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-cmake.md
+2023/06/07 | 6872 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/actions.md
+2023/06/07 | 21535 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/assertions.md
+2023/06/07 | 20123 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/matchers.md
+2023/06/07 | 20974 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/mocking.md
+2023/06/07 | 43830 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/testing.md
+2023/06/07 | 1118 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/samples.md
+2023/06/07 | 2915 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_sass/main.scss
+2023/06/07 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock_main.pc.in
+2023/06/07 | 347 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock.pc.in
+2023/06/07 | 8129 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/CMakeLists.txt
+2023/06/07 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/docs/README.md
+2023/06/07 | 61667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-actions.h
+2023/06/07 | 6097 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-cardinalities.h
+2023/06/07 | 25503 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-function-mocker.h
+2023/06/07 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock.h
+2023/06/07 | 207686 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-matchers.h
+2023/06/07 | 30920 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-actions.h
+2023/06/07 | 3419 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-matchers.h
+2023/06/07 | 10476 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-nice-strict.h
+2023/06/07 | 76445 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-spec-builders.h
+2023/06/07 | 314 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-generated-actions.h
+2023/06/07 | 1918 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-matchers.h
+2023/06/07 | 1953 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-port.h
+2023/06/07 | 510 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/README.md
+2023/06/07 | 18448 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-internal-utils.h
+2023/06/07 | 4807 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-port.h
+2023/06/07 | 13491 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-pp.h
+2023/06/07 | 1538 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/README.md
+2023/06/07 | 2107 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-all.cc
+2023/06/07 | 5262 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-cardinalities.cc
+2023/06/07 | 8528 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock.cc
+2023/06/07 | 9267 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-internal-utils.cc
+2023/06/07 | 3011 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock_main.cc
+2023/06/07 | 17951 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-matchers.cc
+2023/06/07 | 33482 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-spec-builders.cc
+2023/06/07 | 3266 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/BUILD.bazel
+2023/06/07 | 51302 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-actions_test.cc
+2023/06/07 | 2335 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_all_test.cc
+2023/06/07 | 12321 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-cardinalities_test.cc
+2023/06/07 | 3280 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_ex_test.cc
+2023/06/07 | 33667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-function-mocker_test.cc
+2023/06/07 | 28114 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-internal-utils_test.cc
+2023/06/07 | 3230 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test_.cc
+2023/06/07 | 4357 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test.py
+2023/06/07 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link2_test.cc
+2023/06/07 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.cc
+2023/06/07 | 19604 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.h
+2023/06/07 | 287695 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-matchers_test.cc
+2023/06/07 | 53373 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-more-actions_test.cc
+2023/06/07 | 15529 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-nice-strict_test.cc
+2023/06/07 | 8561 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_.cc
+2023/06/07 | 13612 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_golden.txt
+2023/06/07 | 6175 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test.py
+2023/06/07 | 1977 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-port_test.cc
+2023/06/07 | 8789 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp-string_test.cc
+2023/06/07 | 3517 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp_test.cc
+2023/06/07 | 74749 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-spec-builders_test.cc
+2023/06/07 | 7287 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_stress_test.cc
+2023/06/07 | 6412 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test.cc
+2023/06/07 | 3218 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test_utils.py
+2023/06/07 | 284 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/Config.cmake.in
+2023/06/07 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest_main.pc.in
+2023/06/07 | 311 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest.pc.in
+2023/06/07 | 14575 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/internal_utils.cmake
+2023/06/07 | 499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/libgtest.la.in
+2023/06/07 | 11937 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/CMakeLists.txt
+2023/06/07 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/docs/README.md
+2023/06/07 | 8307 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-assertion-result.h
+2023/06/07 | 14651 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-death-test.h
+2023/06/07 | 88387 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest.h
+2023/06/07 | 33240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-matchers.h
+2023/06/07 | 8120 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-message.h
+2023/06/07 | 22663 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-param-test.h
+2023/06/07 | 15043 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_pred_impl.h
+2023/06/07 | 36540 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-printers.h
+2023/06/07 | 2499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_prod.h
+2023/06/07 | 10073 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-spi.h
+2023/06/07 | 6944 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-test-part.h
+2023/06/07 | 15959 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-typed-test.h
+2023/06/07 | 1858 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest.h
+2023/06/07 | 1873 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-port.h
+2023/06/07 | 2094 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-printers.h
+2023/06/07 | 1753 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/README.md
+2023/06/07 | 13366 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-death-test-internal.h
+2023/06/07 | 9856 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-filepath.h
+2023/06/07 | 61699 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-internal.h
+2023/06/07 | 35217 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-param-util.h
+2023/06/07 | 4207 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port-arch.h
+2023/06/07 | 85342 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port.h
+2023/06/07 | 7304 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-string.h
+2023/06/07 | 6252 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-type-util.h
+2023/06/07 | 8894 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/README.md
+2023/06/07 | 4247 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/prime_tables.h
+2023/06/07 | 4985 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample10_unittest.cc
+2023/06/07 | 2470 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.cc
+2023/06/07 | 1919 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.h
+2023/06/07 | 5111 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1_unittest.cc
+2023/06/07 | 2260 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.cc
+2023/06/07 | 2982 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.h
+2023/06/07 | 3917 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2_unittest.cc
+2023/06/07 | 5375 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3-inl.h
+2023/06/07 | 5360 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3_unittest.cc
+2023/06/07 | 2110 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.cc
+2023/06/07 | 2132 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.h
+2023/06/07 | 1995 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4_unittest.cc
+2023/06/07 | 6585 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample5_unittest.cc
+2023/06/07 | 8861 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample6_unittest.cc
+2023/06/07 | 4620 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample7_unittest.cc
+2023/06/07 | 6194 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample8_unittest.cc
+2023/06/07 | 5925 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample9_unittest.cc
+2023/06/07 | 2201 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-all.cc
+2023/06/07 | 3025 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-assertion-result.cc
+2023/06/07 | 252536 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest.cc
+2023/06/07 | 62413 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-death-test.cc
+2023/06/07 | 14081 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-filepath.cc
+2023/06/07 | 46854 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-internal-inl.h
+2023/06/07 | 1968 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest_main.cc
+2023/06/07 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-matchers.cc
+2023/06/07 | 47582 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-port.cc
+2023/06/07 | 18474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-printers.cc
+2023/06/07 | 4126 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-test-part.cc
+2023/06/07 | 3780 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-typed-test.cc
+2023/06/07 | 15318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/BUILD.bazel
+2023/06/07 | 3240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest_.cc
+2023/06/07 | 7322 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest.py
+2023/06/07 | 8386 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test_.cc
+2023/06/07 | 10023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test.py
+2023/06/07 | 2505 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test_.cc
+2023/06/07 | 4896 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test.py
+2023/06/07 | 3601 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test_ex_test.cc
+2023/06/07 | 47993 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test-test.cc
+2023/06/07 | 3704 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test_.cc
+2023/06/07 | 4173 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test.py
+2023/06/07 | 5595 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest_.cc
+2023/06/07 | 14915 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest.py
+2023/06/07 | 22642 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filepath-test.cc
+2023/06/07 | 3466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest_.cc
+2023/06/07 | 21466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest.py
+2023/06/07 | 2286 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest_.cc
+2023/06/07 | 5254 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest.py
+2023/06/07 | 5705 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-outfiles-test.py
+2023/06/07 | 24483 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-output-unittest.py
+2023/06/07 | 24474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-listener-test.cc
+2023/06/07 | 4668 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest_.cc
+2023/06/07 | 6543 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest.py
+2023/06/07 | 5265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-message-test.cc
+2023/06/07 | 7957 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-options-test.cc
+2023/06/07 | 36152 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test_.cc
+2023/06/07 | 42714 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test-golden-lin.txt
+2023/06/07 | 12648 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test.py
+2023/06/07 | 2813 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test2-test.cc
+2023/06/07 | 2023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test_.cc
+2023/06/07 | 2400 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test.py
+2023/06/07 | 2138 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test_.cc
+2023/06/07 | 2355 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test.py
+2023/06/07 | 40998 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.cc
+2023/06/07 | 2282 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.h
+2023/06/07 | 40876 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-port-test.cc
+2023/06/07 | 63842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-printers-test.cc
+2023/06/07 | 1949 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test_.cc
+2023/06/07 | 2265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test.py
+2023/06/07 | 3219 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test_.cc
+2023/06/07 | 12539 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test.py
+2023/06/07 | 8112 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-test-part-test.cc
+2023/06/07 | 3069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test_.cc
+2023/06/07 | 5658 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test.py
+2023/06/07 | 1878 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test_.cc
+2023/06/07 | 2495 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test.py
+2023/06/07 | 2239 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_all_test.cc
+2023/06/07 | 3842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_assert_by_exception_test.cc
+2023/06/07 | 6418 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_environment_test.cc
+2023/06/07 | 2088 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test_.cc
+2023/06/07 | 6037 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test.py
+2023/06/07 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_json_test_utils.py
+2023/06/07 | 3197 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest_.cc
+2023/06/07 | 9502 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest.py
+2023/06/07 | 1841 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_main_unittest.cc
+2023/06/07 | 2403 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_no_test_unittest.cc
+2023/06/07 | 77498 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_pred_impl_unittest.cc
+2023/06/07 | 4283 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_premature_exit_test.cc
+2023/06/07 | 2147 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_prod_test.cc
+2023/06/07 | 7180 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_repeat_test.cc
+2023/06/07 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_check_output_test.py
+2023/06/07 | 2230 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_environment_check_output_test.py
+2023/06/07 | 2069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_in_environment_setup_test.cc
+2023/06/07 | 2005 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_test.cc
+2023/06/07 | 2175 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_sole_header_test.cc
+2023/06/07 | 9318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_stress_test.cc
+2023/06/07 | 1923 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test_.cc
+2023/06/07 | 2496 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test.py
+2023/06/07 | 3767 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_macro_stack_footprint_test.cc
+2023/06/07 | 8407 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_utils.py
+2023/06/07 | 3392 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_throw_on_failure_ex_test.cc
+2023/06/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test2_test.cc
+2023/06/07 | 14089 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.cc
+2023/06/07 | 2396 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.h
+2023/06/07 | 13060 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-unittest-api_test.cc
+2023/06/07 | 261756 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_unittest.cc
+2023/06/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile1_test_.cc
+2023/06/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile2_test_.cc
+2023/06/07 | 5415 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfiles_test.py
+2023/06/07 | 6376 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest_.cc
+2023/06/07 | 20639 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest.py
+2023/06/07 | 9327 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_test_utils.py
+2023/06/07 | 1675 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.cc
+2023/06/07 | 2130 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.h
+2023/06/07 | 1475 | graphics/asymptote/LspCpp/third_party/uri/deps/LICENSE
+2023/06/07 | 4613 | graphics/asymptote/LspCpp/third_party/uri/deps/README.md
+2023/06/07 | 781 | graphics/asymptote/LspCpp/third_party/uri/deps/WORKSPACE
+2023/06/07 | 74120 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile
+2023/06/07 | 74016 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile.in
+2023/06/07 | 16552 | graphics/asymptote/LspCpp/third_party/uri/include/network/optional.hpp
+2023/06/07 | 7731 | graphics/asymptote/LspCpp/third_party/uri/include/network/string_view.hpp
+2023/06/07 | 572 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/config.hpp
+2023/06/07 | 1898 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+2023/06/07 | 4438 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+2023/06/07 | 2151 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+2023/06/07 | 2073 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+2023/06/07 | 1031 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri.hpp
+2023/06/07 | 6917 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+2023/06/07 | 2459 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+2023/06/07 | 21998 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri.hpp
+2023/06/07 | 1710 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_io.hpp
+2023/06/07 | 1338 | graphics/asymptote/LspCpp/third_party/uri/LICENSE_1_0.txt
+2023/06/07 | 7049 | graphics/asymptote/LspCpp/third_party/uri/Makefile
+2023/06/07 | 2328 | graphics/asymptote/LspCpp/third_party/uri/README.rst
+2023/06/07 | 648 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
+2023/06/07 | 20942 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
+2023/06/07 | 1104 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean.cmake
+2023/06/07 | 43 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean_target.cmake
+2023/06/07 | 67141 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
+2023/06/07 | 79041 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
+2023/06/07 | 118 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
+2023/06/07 | 2333 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
+2023/06/07 | 95 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
+2023/06/07 | 412 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
+2023/06/07 | 473 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
+2023/06/07 | 199 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/progress.make
+2023/06/07 | 2 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/progress.marks
+2023/06/07 | 1531 | graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
+2023/06/07 | 1008 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeLists.txt
+2023/06/07 | 2115 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
+2023/06/07 | 2100 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm.hpp
+2023/06/07 | 2281 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
+2023/06/07 | 3063 | graphics/asymptote/LspCpp/third_party/uri/src/detail/grammar.hpp
+2023/06/07 | 2313 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+2023/06/07 | 639 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+2023/06/07 | 2035 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+2023/06/07 | 594 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+2023/06/07 | 2996 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+2023/06/07 | 710 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+2023/06/07 | 10414 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+2023/06/07 | 563 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+2023/06/07 | 1830 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+2023/06/07 | 2526 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+2023/06/07 | 714 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+2023/06/07 | 16661 | graphics/asymptote/LspCpp/third_party/uri/src/Makefile
+2023/06/07 | 4227 | graphics/asymptote/LspCpp/third_party/uri/src/uri_builder.cpp
+2023/06/07 | 18382 | graphics/asymptote/LspCpp/third_party/uri/src/uri.cpp
+2023/06/07 | 1916 | graphics/asymptote/LspCpp/third_party/uri/src/uri_errors.cpp
+2023/06/07 | 1039 | graphics/asymptote/LspCpp/third_party/uri/test/CMakeLists.txt
+2023/06/07 | 572 | graphics/asymptote/LspCpp/third_party/uri/test/invalid_urls.txt
+2023/06/07 | 4362 | graphics/asymptote/LspCpp/third_party/uri/test/optional_test.cpp
+2023/06/07 | 483 | graphics/asymptote/LspCpp/third_party/uri/test/string_utility.hpp
+2023/06/07 | 2053 | graphics/asymptote/LspCpp/third_party/uri/test/test_uri.hpp
+2023/06/07 | 22526 | graphics/asymptote/LspCpp/third_party/uri/test/uri_builder_test.cpp
+2023/06/07 | 3139 | graphics/asymptote/LspCpp/third_party/uri/test/uri_comparison_test.cpp
+2023/06/07 | 5711 | graphics/asymptote/LspCpp/third_party/uri/test/uri_encoding_test.cpp
+2023/06/07 | 8767 | graphics/asymptote/LspCpp/third_party/uri/test/uri_normalization_test.cpp
+2023/06/07 | 3870 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_path_test.cpp
+2023/06/07 | 2578 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_scheme_test.cpp
+2023/06/07 | 18327 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_test.cpp
+2023/06/07 | 2682 | graphics/asymptote/LspCpp/third_party/uri/test/uri_reference_test.cpp
+2023/06/07 | 10168 | graphics/asymptote/LspCpp/third_party/uri/test/uri_resolve_test.cpp
+2023/06/07 | 1419 | graphics/asymptote/LspCpp/third_party/uri/test/uri_stream_test.cpp
+2023/06/07 | 33296 | graphics/asymptote/LspCpp/third_party/uri/test/uri_test.cpp
+2023/06/07 | 1116 | graphics/asymptote/LspCpp/third_party/uri/test/valid_urls.txt
+2023/06/07 | 1925 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
+2023/06/07 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
+2023/06/07 | 55733 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
+2023/06/07 | 2113 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
+2023/06/07 | 11564 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
+2023/06/07 | 13355 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
+2023/06/07 | 3329 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
+2023/06/07 | 3321 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
+2023/06/07 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
+2023/06/07 | 9919 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
+2023/06/07 | 170 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/apitests.cpp
+2023/06/07 | 1640 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
+2023/06/07 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
+2023/06/07 | 2142 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
+2023/06/07 | 105 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/noexceptionstests.cpp
+2023/06/07 | 5879 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.h
+2023/06/07 | 1147 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.h
+2023/06/07 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
+2023/06/07 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
+2023/06/07 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
+2023/06/07 | 5021 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.h
+2023/06/07 | 1120 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.h
+2023/06/07 | 151 | graphics/asymptote/LspCpp/third_party/utfcpp/utf8cppConfig.cmake.in
+2023/06/07 | 21493 | graphics/asymptote/lspserv.cc
+2023/06/07 | 6514 | graphics/asymptote/lspserv.h
+2023/06/07 | 6834 | graphics/asymptote/main.cc
+2023/06/07 | 12870 | graphics/asymptote/Makefile.in
+2023/06/07 | 920 | graphics/asymptote/makeUnique.h
+2023/06/07 | 2960 | graphics/asymptote/material.h
+2023/06/07 | 6425 | graphics/asymptote/mathop.h
+2023/06/07 | 5115 | graphics/asymptote/memory.h
+2023/06/07 | 714 | graphics/asymptote/mod.h
+2023/06/07 | 908 | graphics/asymptote/modifier.h
+2023/06/07 | 8037 | graphics/asymptote/name.cc
+2023/06/07 | 5691 | graphics/asymptote/name.h
+2023/06/07 | 4285 | graphics/asymptote/newexp.cc
+2023/06/07 | 1274 | graphics/asymptote/newexp.h
+2023/06/07 | 916 | graphics/asymptote/opcodes.h
+2023/06/07 | 1050 | graphics/asymptote/opsymbols.pl
+2023/06/07 | 54109 | graphics/asymptote/optional.hpp
+2023/06/07 | 5308 | graphics/asymptote/pair.h
+2023/06/07 | 1399 | graphics/asymptote/parallel.cc
+2023/06/07 | 1206 | graphics/asymptote/parallel.h
+2023/06/07 | 4873 | graphics/asymptote/parser.cc
+2023/06/07 | 1171 | graphics/asymptote/parser.h
+2023/06/07 | 5262 | graphics/asymptote/patches/bison.patch
+2023/06/07 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
+2023/06/07 | 1299 | graphics/asymptote/patches/dvipdf
+2023/06/07 | 113 | graphics/asymptote/patches/fixmem.reg
+2023/06/07 | 1524 | graphics/asymptote/patches/flex.patch
+2023/06/07 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
+2023/06/07 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
+2023/06/07 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
+2023/06/07 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
+2023/06/07 | 1082 | graphics/asymptote/patches/README
+2023/06/07 | 37991 | graphics/asymptote/path3.cc
+2023/06/07 | 10585 | graphics/asymptote/path3.h
+2023/06/07 | 33417 | graphics/asymptote/path.cc
+2023/06/07 | 11663 | graphics/asymptote/path.h
+2023/06/07 | 1594 | graphics/asymptote/pen.cc
+2023/06/07 | 27958 | graphics/asymptote/pen.h
+2023/06/07 | 43051 | graphics/asymptote/picture.cc
+2023/06/07 | 3472 | graphics/asymptote/picture.h
+2023/06/07 | 5250 | graphics/asymptote/pipestream.cc
+2023/06/07 | 2614 | graphics/asymptote/pipestream.h
+2023/06/07 | 138 | graphics/asymptote/Pipfile
+2023/06/07 | 2542 | graphics/asymptote/policy.h
+2023/06/07 | 650 | graphics/asymptote/prcfile.h
+2023/06/07 | 974 | graphics/asymptote/prc/Makefile
+2023/06/07 | 71201 | graphics/asymptote/prc/oPRCFile.cc
+2023/06/07 | 51671 | graphics/asymptote/prc/oPRCFile.h
+2023/06/07 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
+2023/06/07 | 2518 | graphics/asymptote/prc/PRCbitStream.h
+2023/06/07 | 177246 | graphics/asymptote/prc/PRCdouble.cc
+2023/06/07 | 3765 | graphics/asymptote/prc/PRCdouble.h
+2023/06/07 | 30208 | graphics/asymptote/prc/PRC.h
+2023/06/07 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
+2023/06/07 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
+2023/06/07 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
+2023/06/07 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
+2023/06/07 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
+2023/06/07 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
+2023/06/07 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
+2023/06/07 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
+2023/06/07 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
+2023/06/07 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
+2023/06/07 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
+2023/06/07 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
+2023/06/07 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
+2023/06/07 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
+2023/06/07 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
+2023/06/07 | 95 | graphics/asymptote/prc/test.asy
+2023/06/07 | 36243 | graphics/asymptote/prc/test.cc
+2023/06/07 | 66751 | graphics/asymptote/prc/writePRC.cc
+2023/06/07 | 48481 | graphics/asymptote/prc/writePRC.h
+2023/06/07 | 116010 | graphics/asymptote/predicates.cc
+2023/06/07 | 986 | graphics/asymptote/predicates.h
+2023/06/07 | 1236 | graphics/asymptote/primitives.h
+2023/06/07 | 23904 | graphics/asymptote/process.cc
+2023/06/07 | 4919 | graphics/asymptote/process.h
+2023/06/07 | 2378 | graphics/asymptote/profile.py
+2023/06/07 | 9708 | graphics/asymptote/profiler.h
+2023/06/07 | 3265 | graphics/asymptote/program.cc
+2023/06/07 | 2561 | graphics/asymptote/program.h
+2023/06/07 | 19479 | graphics/asymptote/psfile.cc
+2023/06/07 | 9021 | graphics/asymptote/psfile.h
+2023/06/07 | 2505 | graphics/asymptote/README
+2023/06/07 | 1698 | graphics/asymptote/record.cc
+2023/06/07 | 2732 | graphics/asymptote/record.h
+2023/06/07 | 1096 | graphics/asymptote/refaccess.cc
+2023/06/07 | 1936 | graphics/asymptote/refaccess.h
+2023/06/05 | 131864 | graphics/asymptote/ReleaseNotes
+2023/06/07 | 62 | graphics/asymptote/revision.cc
+2023/06/07 | 3441 | graphics/asymptote/rounding.h
+2023/06/07 | 76304 | graphics/asymptote/runarray.cc
+2023/06/07 | 1492 | graphics/asymptote/runarray.h
+2023/06/07 | 50899 | graphics/asymptote/runarray.in
+2023/06/07 | 2661 | graphics/asymptote/runbacktrace.cc
+2023/06/07 | 169 | graphics/asymptote/runbacktrace.h
+2023/06/07 | 831 | graphics/asymptote/runbacktrace.in
+2023/06/07 | 17798 | graphics/asymptote/runfile.cc
+2023/06/07 | 969 | graphics/asymptote/runfile.h
+2023/06/07 | 5987 | graphics/asymptote/runfile.in
+2023/06/07 | 8096 | graphics/asymptote/runhistory.cc
+2023/06/07 | 161 | graphics/asymptote/runhistory.h
+2023/06/07 | 5064 | graphics/asymptote/runhistory.in
+2023/06/07 | 15253 | graphics/asymptote/runlabel.cc
+2023/06/07 | 153 | graphics/asymptote/runlabel.h
+2023/06/07 | 11513 | graphics/asymptote/runlabel.in
+2023/06/07 | 21874 | graphics/asymptote/runmath.cc
+2023/06/07 | 269 | graphics/asymptote/runmath.h
+2023/06/07 | 8804 | graphics/asymptote/runmath.in
+2023/06/07 | 16483 | graphics/asymptote/runpair.cc
+2023/06/07 | 299 | graphics/asymptote/runpair.h
+2023/06/07 | 4156 | graphics/asymptote/runpair.in
+2023/06/07 | 25701 | graphics/asymptote/runpath3d.cc
+2023/06/07 | 186 | graphics/asymptote/runpath3d.h
+2023/06/07 | 8008 | graphics/asymptote/runpath3d.in
+2023/06/07 | 26844 | graphics/asymptote/runpath.cc
+2023/06/07 | 177 | graphics/asymptote/runpath.h
+2023/06/07 | 8439 | graphics/asymptote/runpath.in
+2023/06/07 | 57989 | graphics/asymptote/runpicture.cc
+2023/06/07 | 191 | graphics/asymptote/runpicture.h
+2023/06/07 | 20135 | graphics/asymptote/runpicture.in
+2023/06/07 | 18739 | graphics/asymptote/runstring.cc
+2023/06/07 | 188 | graphics/asymptote/runstring.h
+2023/06/07 | 9867 | graphics/asymptote/runstring.in
+2023/06/07 | 12604 | graphics/asymptote/runsystem.cc
+2023/06/07 | 157 | graphics/asymptote/runsystem.h
+2023/06/07 | 5111 | graphics/asymptote/runsystem.in
+2023/06/07 | 1341 | graphics/asymptote/runtimebase.in
+2023/06/07 | 61679 | graphics/asymptote/runtime.cc
+2023/06/07 | 1163 | graphics/asymptote/runtime.h
+2023/06/07 | 20816 | graphics/asymptote/runtime.in
+2023/06/07 | 7274 | graphics/asymptote/runtime.pl
+2023/06/07 | 13944 | graphics/asymptote/runtriple.cc
+2023/06/07 | 320 | graphics/asymptote/runtriple.h
+2023/06/07 | 2707 | graphics/asymptote/runtriple.in
+2023/06/07 | 2109 | graphics/asymptote/seconds.h
+2023/06/07 | 55327 | graphics/asymptote/settings.cc
+2023/06/07 | 2707 | graphics/asymptote/settings.h
+2023/06/07 | 3667 | graphics/asymptote/shaders.cc
+2023/06/07 | 830 | graphics/asymptote/shaders.h
+2023/06/07 | 6634 | graphics/asymptote/simpson.cc
+2023/06/07 | 14532 | graphics/asymptote/stack.cc
+2023/06/07 | 3295 | graphics/asymptote/stack.h
+2023/06/07 | 2879 | graphics/asymptote/statistics.h
+2023/06/07 | 14795 | graphics/asymptote/stm.cc
+2023/06/07 | 5183 | graphics/asymptote/stm.h
+2023/06/07 | 9104 | graphics/asymptote/symbol.cc
+2023/06/07 | 2776 | graphics/asymptote/symbol.h
+2023/06/07 | 24777 | graphics/asymptote/symbolmaps.cc
+2023/06/07 | 28278 | graphics/asymptote/symbolmaps.h
+2023/06/07 | 2697 | graphics/asymptote/table.h
+2023/06/07 | 843 | graphics/asymptote/tests/arith/integer.asy
+2023/06/07 | 449 | graphics/asymptote/tests/arith/pair.asy
+2023/06/07 | 193 | graphics/asymptote/tests/arith/random.asy
+2023/06/07 | 383 | graphics/asymptote/tests/arith/real.asy
+2023/06/07 | 1710 | graphics/asymptote/tests/arith/roots.asy
+2023/06/07 | 639 | graphics/asymptote/tests/arith/transform.asy
+2023/06/07 | 244 | graphics/asymptote/tests/arith/triple.asy
+2023/06/07 | 936 | graphics/asymptote/tests/array/array.asy
+2023/06/07 | 680 | graphics/asymptote/tests/array/delete.asy
+2023/06/07 | 737 | graphics/asymptote/tests/array/determinant.asy
+2023/06/07 | 1927 | graphics/asymptote/tests/array/fields.asy
+2023/06/07 | 4841 | graphics/asymptote/tests/array/slice.asy
+2023/06/07 | 966 | graphics/asymptote/tests/array/solve.asy
+2023/06/07 | 746 | graphics/asymptote/tests/array/sort.asy
+2023/06/07 | 1096 | graphics/asymptote/tests/array/transpose.asy
+2023/06/07 | 276 | graphics/asymptote/tests/bench/6000circles.asy
+2023/06/07 | 2222 | graphics/asymptote/tests/frames/loop.asy
+2023/06/07 | 202 | graphics/asymptote/tests/frames/stat2.asy
+2023/06/07 | 158 | graphics/asymptote/tests/frames/stat.asy
+2023/06/07 | 62 | graphics/asymptote/tests/gc/array.asy
+2023/06/07 | 102 | graphics/asymptote/tests/gc/file.asy
+2023/06/07 | 54 | graphics/asymptote/tests/gc/funcall.asy
+2023/06/07 | 65 | graphics/asymptote/tests/gc/guide.asy
+2023/06/07 | 143 | graphics/asymptote/tests/gc/label.asy
+2023/06/07 | 124 | graphics/asymptote/tests/gc/path.asy
+2023/06/07 | 72 | graphics/asymptote/tests/gc/pen.asy
+2023/06/07 | 193 | graphics/asymptote/tests/gc/shipout.asy
+2023/06/07 | 77 | graphics/asymptote/tests/gc/string.asy
+2023/06/07 | 129 | graphics/asymptote/tests/gc/struct.asy
+2023/06/07 | 70 | graphics/asymptote/tests/gc/transform.asy
+2023/06/07 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
+2023/06/07 | 11907 | graphics/asymptote/tests/gsl/random.asy
+2023/06/07 | 1209 | graphics/asymptote/tests/imp/unravel.asy
+2023/06/07 | 383 | graphics/asymptote/tests/io/csv.asy
+2023/06/07 | 100 | graphics/asymptote/tests/io/input_with_nan.csv
+2023/06/07 | 311 | graphics/asymptote/tests/Makefile
+2023/06/07 | 18 | graphics/asymptote/tests/output/circle.asy
+2023/06/07 | 22 | graphics/asymptote/tests/output/line.asy
+2023/06/07 | 1284 | graphics/asymptote/tests/output/Makefile
+2023/06/07 | 1384 | graphics/asymptote/tests/pic/trans.asy
+2023/06/07 | 236 | graphics/asymptote/tests/string/erase.asy
+2023/06/07 | 182 | graphics/asymptote/tests/string/find.asy
+2023/06/07 | 109 | graphics/asymptote/tests/string/insert.asy
+2023/06/07 | 132 | graphics/asymptote/tests/string/length.asy
+2023/06/07 | 187 | graphics/asymptote/tests/string/rfind.asy
+2023/06/07 | 118 | graphics/asymptote/tests/string/substr.asy
+2023/06/07 | 238 | graphics/asymptote/tests/TestLib.asy
+2023/06/07 | 159 | graphics/asymptote/tests/types/cast.asy
+2023/06/07 | 6503 | graphics/asymptote/tests/types/constructor.asy
+2023/06/07 | 155 | graphics/asymptote/tests/types/ecast.asy
+2023/06/07 | 3375 | graphics/asymptote/tests/types/guide.asy
+2023/06/07 | 224 | graphics/asymptote/tests/types/init.asy
+2023/06/07 | 4242 | graphics/asymptote/tests/types/keyword.asy
+2023/06/07 | 4072 | graphics/asymptote/tests/types/order.asy
+2023/06/07 | 2731 | graphics/asymptote/tests/types/resolve.asy
+2023/06/07 | 308 | graphics/asymptote/tests/types/shadow.asy
+2023/06/07 | 1331 | graphics/asymptote/tests/types/spec.asy
+2023/06/07 | 1189 | graphics/asymptote/tests/types/var.asy
+2023/06/07 | 14283 | graphics/asymptote/testv3d.asy
+2023/06/07 | 17671 | graphics/asymptote/texfile.cc
+2023/06/07 | 13440 | graphics/asymptote/texfile.h
+2023/06/07 | 667 | graphics/asymptote/tinyexr.cc
+2023/06/07 | 1293 | graphics/asymptote/TODO
+2023/06/07 | 6288 | graphics/asymptote/transform.h
+2023/06/07 | 10224 | graphics/asymptote/tr.cc
+2023/06/07 | 3912 | graphics/asymptote/tr.h
+2023/06/07 | 9784 | graphics/asymptote/triple.h
+2023/06/07 | 14072 | graphics/asymptote/types.cc
+2023/06/07 | 15451 | graphics/asymptote/types.h
+2023/06/07 | 10131 | graphics/asymptote/util.cc
+2023/06/07 | 4602 | graphics/asymptote/util.h
+2023/06/07 | 9755 | graphics/asymptote/v3dfile.cc
+2023/06/07 | 4481 | graphics/asymptote/v3dfile.h
+2023/06/07 | 1075 | graphics/asymptote/v3dheadertypes.csv
+2023/06/07 | 1232 | graphics/asymptote/v3dheadertypes.h
+2023/06/07 | 1604 | graphics/asymptote/v3dheadertypes.py
+2023/06/07 | 422 | graphics/asymptote/v3dtypes.csv
+2023/06/07 | 541 | graphics/asymptote/v3dtypes.h
+2023/06/07 | 814 | graphics/asymptote/v3dtypes.py
+2023/06/07 | 2004 | graphics/asymptote/varinit.cc
+2023/06/07 | 2012 | graphics/asymptote/varinit.h
+2023/06/07 | 901 | graphics/asymptote/virtualfieldaccess.cc
+2023/06/07 | 2328 | graphics/asymptote/virtualfieldaccess.h
+2023/06/07 | 766 | graphics/asymptote/vm.h
+2023/06/07 | 222 | graphics/asymptote/wce
+2023/06/07 | 4531 | graphics/asymptote/webgl/fragment.glsl
+2023/06/07 | 101347 | graphics/asymptote/webgl/gl.js
+2023/06/07 | 820 | graphics/asymptote/webgl/license
+2023/06/07 | 1728 | graphics/asymptote/webgl/vertex.glsl
+2023/06/07 | 8811 | graphics/asymptote/xstream.h
+2023/06/07 | 26804587 | 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
@@ -160807,11 +160813,11 @@
2019/08/15 | 145240 | graphics/pgf/contrib/tikz-network/tikz-network.tex
2019/08/15 | 1017759 | graphics/pgf/contrib/tikz-network.zip
2023/05/04 | 18440 | graphics/pgf/contrib/tikz-nfold/pgflibrarybezieroffset.code.tex
-2023/05/16 | 706 | graphics/pgf/contrib/tikz-nfold/README.md
-2023/05/16 | 53517 | graphics/pgf/contrib/tikz-nfold/tikzlibrarynfold.code.tex
-2023/05/16 | 302791 | graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.pdf
-2023/05/04 | 31829 | graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.tex
-2023/05/16 | 294985 | graphics/pgf/contrib/tikz-nfold.zip
+2023/06/07 | 706 | graphics/pgf/contrib/tikz-nfold/README.md
+2023/06/07 | 57247 | graphics/pgf/contrib/tikz-nfold/tikzlibrarynfold.code.tex
+2023/06/07 | 302816 | graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.pdf
+2023/06/07 | 31899 | graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.tex
+2023/06/07 | 296015 | graphics/pgf/contrib/tikz-nfold.zip
2014/01/23 | 19106 | graphics/pgf/contrib/tikz-opm/LICENSE
2014/01/23 | 215 | graphics/pgf/contrib/tikz-opm/README
2014/01/23 | 74999 | graphics/pgf/contrib/tikz-opm/tikz-opm.pdf
@@ -192800,7 +192806,10 @@
2010/11/23 | 109351 | info/simplified-latex/source.zip
2010/11/29 | 948093 | info/simplified-latex.zip
1993/01/12 | 16612 | info/slitex.hlp
-1999/08/09 | 287 | info/spanish/00readme
+2023/06/07 | 221591 | info/spanish/antique-spanish-units/antique-spanish-units.pdf
+2023/06/07 | 10994 | info/spanish/antique-spanish-units/antique-spanish-units.tex
+2023/06/07 | 641 | info/spanish/antique-spanish-units/README
+2023/06/07 | 212087 | info/spanish/antique-spanish-units.zip
2004/09/08 | 826651 | info/spanish/guia-atx/guia-atx.pdf
2004/05/27 | 535 | info/spanish/guia-atx/README
2006/08/26 | 2994 | info/spanish/guia-bibtex/biblio.bib
@@ -192817,7 +192826,9 @@
1999/11/13 | 57353 | info/spanish/TeEncontreX/Too.tex.gz
1999/11/13 | 3618 | info/spanish/TeEncontreX/translations.py
2006/03/21 | 167221 | info/spanish/TeEncontreX.zip
-1999/10/16 | 41046 | info/spanish/tipos.pdf
+1999/08/09 | 287 | info/spanish/tipos/00readme
+1999/10/16 | 41046 | info/spanish/tipos/tipos.pdf
+2023/06/07 | 110 | info/spanish/tipos.zip
2012/03/29 | 82902 | info/svg-inkscape/image-normal.pdf
2012/03/29 | 6639 | info/svg-inkscape/image.pdf
2012/03/29 | 3833 | info/svg-inkscape/image.pdf_tex
@@ -221124,7 +221135,12 @@
1998/12/15 | 1011 | macros/latex/contrib/exams/exam.ins
1996/03/01 | 968 | macros/latex/contrib/exams/README
2011/05/23 | 20672 | macros/latex/contrib/exams.zip
+2023/06/07 | 42202 | macros/latex/contrib/examz/examz.dtx
+2023/05/31 | 1578 | macros/latex/contrib/examz/examz.ins
+2023/06/07 | 273602 | macros/latex/contrib/examz/examz.pdf
2022/08/17 | 588830 | macros/latex/contrib/exam.zip
+2023/06/07 | 750 | macros/latex/contrib/examz/README.txt
+2023/06/07 | 282668 | macros/latex/contrib/examz.zip
2006/05/08 | 459 | macros/latex/contrib/exceltex/CHANGES
2006/05/08 | 18977 | macros/latex/contrib/exceltex/exceltex
2006/05/08 | 1618 | macros/latex/contrib/exceltex/exceltex.sty
@@ -226154,8 +226170,8 @@
2010/04/07 | 239721 | macros/latex/contrib/jeopardy/jeopardy.pdf
2010/04/07 | 996 | macros/latex/contrib/jeopardy/README
2010/04/08 | 1447445 | macros/latex/contrib/jeopardy.zip
-2023/03/18 | 8281245 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
-2023/03/18 | 39732 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
+2023/06/07 | 8287659 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
+2023/06/07 | 41154 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
2023/02/28 | 1203 | macros/latex/contrib/jeuxcartes/README.md
2023/02/27 | 3181 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRbic-10C.pdf
2023/02/27 | 2440 | macros/latex/contrib/jeuxcartes/tex/CaJ-PokeRbic-10K.pdf
@@ -226685,8 +226701,8 @@
2022/12/24 | 2037 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-PTJ.pdf
2022/12/24 | 2031 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-PTR.pdf
2022/12/24 | 2035 | macros/latex/contrib/jeuxcartes/tex/CaJ-UnOv1-PTV.pdf
-2023/03/18 | 21012 | macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
-2023/03/18 | 15201142 | macros/latex/contrib/jeuxcartes.zip
+2023/06/07 | 23281 | macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
+2023/06/07 | 15199868 | macros/latex/contrib/jeuxcartes.zip
2004/12/10 | 70397 | macros/latex/contrib/jhep/JHEP.cls
2007/04/24 | 1891 | macros/latex/contrib/jj_game/designs/design_bahamas.def
2007/04/19 | 1573 | macros/latex/contrib/jj_game/designs/design_florida.def
@@ -233126,11 +233142,13 @@
1999/08/14 | 2754 | macros/latex/contrib/postcards/postcards.cls
1999/08/14 | 559 | macros/latex/contrib/postcards/README
2005/04/30 | 2990 | macros/latex/contrib/postcards.zip
-2023/06/05 | 494921 | macros/latex/contrib/postit/doc/postit-doc.pdf
-2023/06/05 | 18930 | macros/latex/contrib/postit/doc/postit-doc.tex
-2023/05/30 | 365 | macros/latex/contrib/postit/README.md
-2023/06/05 | 24568 | macros/latex/contrib/postit/tex/postit.sty
-2023/06/05 | 491142 | macros/latex/contrib/postit.zip
+2023/06/07 | 491144 | macros/latex/contrib/postit/doc/postit-doc-en.pdf
+2023/06/07 | 17060 | macros/latex/contrib/postit/doc/postit-doc-en.tex
+2023/06/07 | 498661 | macros/latex/contrib/postit/doc/postit-doc-fr.pdf
+2023/06/06 | 19004 | macros/latex/contrib/postit/doc/postit-doc-fr.tex
+2023/06/07 | 483 | macros/latex/contrib/postit/README.md
+2023/06/07 | 45150 | macros/latex/contrib/postit/tex/postit.sty
+2023/06/07 | 977408 | macros/latex/contrib/postit.zip
2023/02/21 | 2966 | macros/latex/contrib/postnotes/CHANGELOG.md
2023/02/21 | 14 | macros/latex/contrib/postnotes/DEPENDS.txt
2023/02/21 | 840032 | macros/latex/contrib/postnotes/postnotes-code.pdf
@@ -238109,55 +238127,55 @@
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
-2023/05/16 | 23311 | macros/latex/contrib/tagpdf/acrobat.png
-2023/05/16 | 8652 | macros/latex/contrib/tagpdf/ex-AF-file.pdf
-2023/05/16 | 1237 | macros/latex/contrib/tagpdf/ex-AF-file.tex
-2023/05/16 | 17742 | macros/latex/contrib/tagpdf/ex-alt-actualtext-luatex.pdf
-2023/05/16 | 4153 | macros/latex/contrib/tagpdf/ex-alt-actualtext.tex
-2023/05/16 | 6626 | macros/latex/contrib/tagpdf/ex-attribute-luatex.pdf
-2023/05/16 | 1398 | macros/latex/contrib/tagpdf/ex-attribute.tex
-2023/05/16 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
-2023/05/16 | 1019 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
-2023/05/16 | 22818 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
-2023/05/16 | 2150 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex
-2023/05/16 | 16888 | macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf
-2023/05/16 | 2528 | macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex
-2023/05/16 | 2637 | macros/latex/contrib/tagpdf/ex-patch-list.tex
-2023/05/16 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
-2023/05/16 | 4284 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex
-2023/05/16 | 21067 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf
-2023/05/16 | 5797 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex
-2023/05/16 | 6842 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
-2023/05/16 | 1073 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
-2023/05/16 | 4618 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
-2023/05/16 | 777 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
-2023/05/16 | 1537 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex
-2023/05/16 | 19363 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
-2023/05/16 | 801 | macros/latex/contrib/tagpdf/ex-tagpdf-template.tex
-2023/05/16 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
-2023/05/16 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
-2023/05/16 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG
-2023/05/16 | 1177 | macros/latex/contrib/tagpdf/README.md
-2023/05/16 | 40936 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
-2023/05/16 | 1730 | macros/latex/contrib/tagpdf/tagpdf.bib
-2023/05/16 | 30992 | macros/latex/contrib/tagpdf/tagpdf-checks.dtx
-2023/05/16 | 1561747 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
-2023/05/16 | 2278 | macros/latex/contrib/tagpdf/tagpdf-code.tex
-2023/05/16 | 37453 | macros/latex/contrib/tagpdf/tagpdf-data.dtx
-2023/05/16 | 8219 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
-2023/05/16 | 20874 | macros/latex/contrib/tagpdf/tagpdf.dtx
-2023/05/16 | 3962 | macros/latex/contrib/tagpdf/tagpdf.ins
-2023/05/16 | 27200 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
-2023/05/16 | 15075 | macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
-2023/05/16 | 15315 | macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
-2023/05/16 | 1004170 | macros/latex/contrib/tagpdf/tagpdf.pdf
-2023/05/16 | 44243 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
-2023/05/16 | 5109 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
-2023/05/16 | 64084 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
-2023/05/16 | 113938 | macros/latex/contrib/tagpdf/tagpdf.tex
-2023/05/16 | 17548 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
-2023/05/16 | 30507 | macros/latex/contrib/tagpdf/tagpdf-user.dtx
-2023/05/16 | 2289687 | macros/latex/contrib/tagpdf.zip
+2023/06/06 | 23311 | macros/latex/contrib/tagpdf/acrobat.png
+2023/06/06 | 8652 | macros/latex/contrib/tagpdf/ex-AF-file.pdf
+2023/06/06 | 1237 | macros/latex/contrib/tagpdf/ex-AF-file.tex
+2023/06/06 | 17742 | macros/latex/contrib/tagpdf/ex-alt-actualtext-luatex.pdf
+2023/06/06 | 4153 | macros/latex/contrib/tagpdf/ex-alt-actualtext.tex
+2023/06/06 | 6626 | macros/latex/contrib/tagpdf/ex-attribute-luatex.pdf
+2023/06/06 | 1398 | macros/latex/contrib/tagpdf/ex-attribute.tex
+2023/06/06 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
+2023/06/06 | 1019 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
+2023/06/06 | 22818 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
+2023/06/06 | 2150 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex
+2023/06/06 | 16888 | macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf
+2023/06/06 | 2528 | macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex
+2023/06/06 | 2637 | macros/latex/contrib/tagpdf/ex-patch-list.tex
+2023/06/06 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
+2023/06/06 | 4284 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex
+2023/06/06 | 21067 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf
+2023/06/06 | 5797 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex
+2023/06/06 | 6842 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
+2023/06/06 | 1073 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
+2023/06/06 | 4618 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
+2023/06/06 | 777 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
+2023/06/06 | 1537 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex
+2023/06/06 | 19363 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
+2023/06/06 | 801 | macros/latex/contrib/tagpdf/ex-tagpdf-template.tex
+2023/06/06 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
+2023/06/06 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
+2023/06/06 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG
+2023/06/06 | 1177 | macros/latex/contrib/tagpdf/README.md
+2023/06/06 | 40936 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
+2023/06/06 | 1730 | macros/latex/contrib/tagpdf/tagpdf.bib
+2023/06/06 | 31494 | macros/latex/contrib/tagpdf/tagpdf-checks.dtx
+2023/06/06 | 1564470 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
+2023/06/06 | 2278 | macros/latex/contrib/tagpdf/tagpdf-code.tex
+2023/06/06 | 37453 | macros/latex/contrib/tagpdf/tagpdf-data.dtx
+2023/06/06 | 4593 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
+2023/06/06 | 20874 | macros/latex/contrib/tagpdf/tagpdf.dtx
+2023/06/06 | 3962 | macros/latex/contrib/tagpdf/tagpdf.ins
+2023/06/06 | 27200 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
+2023/06/06 | 15075 | macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
+2023/06/06 | 15315 | macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
+2023/06/06 | 1012495 | macros/latex/contrib/tagpdf/tagpdf.pdf
+2023/06/06 | 44243 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+2023/06/06 | 5109 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
+2023/06/06 | 65056 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
+2023/06/06 | 114286 | macros/latex/contrib/tagpdf/tagpdf.tex
+2023/06/06 | 17548 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
+2023/06/06 | 30507 | macros/latex/contrib/tagpdf/tagpdf-user.dtx
+2023/06/07 | 2295920 | 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
@@ -254197,12 +254215,12 @@
2020/09/29 | 211 | macros/unicodetex/latex/lilyglyphs/tex/README-tex
2020/09/29 | 49 | macros/unicodetex/latex/lilyglyphs/VERSION
2020/09/29 | 2283370 | macros/unicodetex/latex/lilyglyphs.zip
-2023/05/03 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
-2023/05/03 | 306656 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
-2023/05/03 | 3433 | macros/unicodetex/latex/njuthesis/njuthesis.ins
-2023/05/03 | 1222131 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
-2023/05/03 | 1077 | macros/unicodetex/latex/njuthesis/README.md
-2023/05/03 | 1290643 | macros/unicodetex/latex/njuthesis.zip
+2023/06/07 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
+2023/06/07 | 314069 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
+2023/06/07 | 3231 | macros/unicodetex/latex/njuthesis/njuthesis.ins
+2023/06/07 | 1250747 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
+2023/06/07 | 1077 | macros/unicodetex/latex/njuthesis/README.md
+2023/06/07 | 1324600 | macros/unicodetex/latex/njuthesis.zip
2021/08/05 | 269 | macros/unicodetex/latex/nwafuthesis/build.sh
2021/08/05 | 263 | macros/unicodetex/latex/nwafuthesis/build-win.bat
2021/08/05 | 218987 | macros/unicodetex/latex/nwafuthesis/logo/building.jpg
@@ -285418,564 +285436,571 @@
1994/01/18 | 7272 | support/tex-it/texitrc.unx
1994/01/18 | 25068 | support/tex-it/texit.tex
2006/03/12 | 50172 | support/tex-it.zip
-2023/05/20 | 50320 | support/texlab/Cargo.lock
-2023/05/20 | 332 | support/texlab/Cargo.toml
-2023/05/20 | 28869 | support/texlab/CHANGELOG.md
-2023/05/20 | 181 | support/texlab/CONTRIBUTING.md
-2023/05/20 | 490 | support/texlab/crates/base-db/Cargo.toml
-2023/05/20 | 3734 | support/texlab/crates/base-db/src/config.rs
-2023/05/20 | 58317 | support/texlab/crates/base-db/src/data.rs
-2023/05/20 | 1955 | support/texlab/crates/base-db/src/diagnostics/bib.rs
-2023/05/20 | 2201 | support/texlab/crates/base-db/src/diagnostics/log.rs
-2023/05/20 | 430 | support/texlab/crates/base-db/src/diagnostics.rs
-2023/05/20 | 3546 | support/texlab/crates/base-db/src/diagnostics/tex.rs
-2023/05/20 | 4953 | support/texlab/crates/base-db/src/document.rs
-2023/05/20 | 5138 | support/texlab/crates/base-db/src/graph.rs
-2023/05/20 | 179 | support/texlab/crates/base-db/src/lib.rs
-2023/05/20 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
-2023/05/20 | 585 | support/texlab/crates/base-db/src/semantics.rs
-2023/05/20 | 9674 | support/texlab/crates/base-db/src/semantics/tex.rs
-2023/05/20 | 5900 | support/texlab/crates/base-db/src/util/label.rs
-2023/05/20 | 6484 | support/texlab/crates/base-db/src/util/line_index.rs
-2023/05/20 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
-2023/05/20 | 227 | support/texlab/crates/base-db/src/util.rs
-2023/05/20 | 9194 | support/texlab/crates/base-db/src/workspace.rs
-2023/05/20 | 538 | support/texlab/crates/citeproc/Cargo.toml
-2023/05/20 | 22210 | support/texlab/crates/citeproc/src/driver.rs
-2023/05/20 | 4724 | support/texlab/crates/citeproc/src/entry.rs
-2023/05/20 | 2074 | support/texlab/crates/citeproc/src/field/author.rs
-2023/05/20 | 2665 | support/texlab/crates/citeproc/src/field/date.rs
-2023/05/20 | 1626 | support/texlab/crates/citeproc/src/field/number.rs
-2023/05/20 | 60 | support/texlab/crates/citeproc/src/field.rs
-2023/05/20 | 8955 | support/texlab/crates/citeproc/src/field/text.rs
-2023/05/20 | 890 | support/texlab/crates/citeproc/src/lib.rs
-2023/05/20 | 1760 | support/texlab/crates/citeproc/src/output.rs
-2023/05/20 | 1052 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_aksin_2006.snap
-2023/05/20 | 788 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_betram_1996.snap
-2023/05/20 | 1317 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_blom_2021.snap
-2023/05/20 | 1050 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_jain_1999.snap
-2023/05/20 | 1301 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_kastenholz_2006.snap
-2023/05/20 | 976 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_rivest_1978.snap
-2023/05/20 | 572 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_aho_2006.snap
-2023/05/20 | 1398 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_averroes_1998.snap
-2023/05/20 | 1210 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_knuth_1984.snap
-2023/05/20 | 707 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__collection_matuz_1990.snap
-2023/05/20 | 1163 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_combi_2004.snap
-2023/05/20 | 1038 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_erwin_2007.snap
-2023/05/20 | 1415 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__mvbook_nietzsche_1988.snap
-2023/05/20 | 954 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__patent_almendro_1998.snap
-2023/05/20 | 11868 | support/texlab/crates/citeproc/src/tests.rs
-2023/05/20 | 444 | support/texlab/crates/commands/Cargo.toml
-2023/05/20 | 3838 | support/texlab/crates/commands/src/build.rs
-2023/05/20 | 987 | support/texlab/crates/commands/src/change_env.rs
-2023/05/20 | 1550 | support/texlab/crates/commands/src/clean.rs
-2023/05/20 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
-2023/05/20 | 3043 | support/texlab/crates/commands/src/fwd_search.rs
-2023/05/20 | 340 | support/texlab/crates/commands/src/lib.rs
-2023/05/20 | 1584 | support/texlab/crates/commands/src/placeholders.rs
-2023/05/20 | 227 | support/texlab/crates/distro/Cargo.toml
-2023/05/20 | 1812 | support/texlab/crates/distro/src/file_name_db.rs
-2023/05/20 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
-2023/05/20 | 1124 | support/texlab/crates/distro/src/language.rs
-2023/05/20 | 1997 | support/texlab/crates/distro/src/lib.rs
-2023/05/20 | 2467 | support/texlab/crates/distro/src/miktex.rs
-2023/05/20 | 820 | support/texlab/crates/distro/src/texlive.rs
-2023/05/20 | 407 | support/texlab/crates/parser/Cargo.toml
-2023/05/20 | 11420 | support/texlab/crates/parser/src/bibtex.rs
-2023/05/20 | 5684 | support/texlab/crates/parser/src/build_log.rs
-2023/05/20 | 3009 | support/texlab/crates/parser/src/config.rs
-2023/05/20 | 5330 | support/texlab/crates/parser/src/latex/lexer/commands.rs
-2023/05/20 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
-2023/05/20 | 2602 | support/texlab/crates/parser/src/latex/lexer/types.rs
-2023/05/20 | 33693 | support/texlab/crates/parser/src/latex.rs
-2023/05/20 | 148 | support/texlab/crates/parser/src/lib.rs
-2023/05/20 | 234 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@comment.txt.snap
-2023/05/20 | 761 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_809.txt.snap
-2023/05/20 | 373 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@preamble.txt.snap
-2023/05/20 | 3667 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aho_2006.txt.snap
-2023/05/20 | 7531 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
-2023/05/20 | 7322 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
-2023/05/20 | 10380 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
-2023/05/20 | 5864 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__betram_1996.txt.snap
-2023/05/20 | 6644 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__blom_2021.txt.snap
-2023/05/20 | 7157 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__combi_2004.txt.snap
-2023/05/20 | 6836 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
-2023/05/20 | 7528 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__jain_1999.txt.snap
-2023/05/20 | 8868 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__kastenholz_2006.txt.snap
-2023/05/20 | 9479 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
-2023/05/20 | 5060 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__matuz_1990.txt.snap
-2023/05/20 | 11015 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
-2023/05/20 | 6472 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
-2023/05/20 | 716 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@001.txt.snap
-2023/05/20 | 448 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@002.txt.snap
-2023/05/20 | 673 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@003.txt.snap
-2023/05/20 | 975 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@004.txt.snap
-2023/05/20 | 953 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@005.txt.snap
-2023/05/20 | 1672 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@006.txt.snap
-2023/05/20 | 464 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@007.txt.snap
-2023/05/20 | 746 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@block_comments.txt.snap
-2023/05/20 | 626 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default_error.txt.snap
-2023/05/20 | 647 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default.txt.snap
-2023/05/20 | 772 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_figure.txt.snap
-2023/05/20 | 499 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
-2023/05/20 | 520 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal.txt.snap
-2023/05/20 | 295 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_empty.txt.snap
-2023/05/20 | 321 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_missing_brace.txt.snap
-2023/05/20 | 453 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
-2023/05/20 | 608 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
-2023/05/20 | 472 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote.txt.snap
-2023/05/20 | 404 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
-2023/05/20 | 344 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_simple.txt.snap
-2023/05/20 | 342 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_star.txt.snap
-2023/05/20 | 734 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_definition_simple.txt.snap
-2023/05/20 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_reference_simple.txt.snap
-2023/05/20 | 849 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
-2023/05/20 | 588 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
-2023/05/20 | 457 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error3.txt.snap
-2023/05/20 | 248 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
-2023/05/20 | 980 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_simple.txt.snap
-2023/05/20 | 504 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_argc.txt.snap
-2023/05/20 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
-2023/05/20 | 377 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
-2023/05/20 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_optional.txt.snap
-2023/05/20 | 645 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
-2023/05/20 | 1177 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
-2023/05/20 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
-2023/05/20 | 502 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_simple.txt.snap
-2023/05/20 | 1074 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_asymptote.txt.snap
-2023/05/20 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition_optional_arg.txt.snap
-2023/05/20 | 1103 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition.txt.snap
-2023/05/20 | 1191 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested_missing_braces.txt.snap
-2023/05/20 | 1121 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested.txt.snap
-2023/05/20 | 742 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_simple.txt.snap
-2023/05/20 | 814 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation_missing_begin.txt.snap
-2023/05/20 | 379 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation.txt.snap
-2023/05/20 | 460 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_args.txt.snap
-2023/05/20 | 216 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_empty.txt.snap
-2023/05/20 | 215 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_escape.txt.snap
-2023/05/20 | 1464 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
-2023/05/20 | 1359 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
-2023/05/20 | 758 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_simple.txt.snap
-2023/05/20 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_package.txt.snap
-2023/05/20 | 815 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
-2023/05/20 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_simple.txt.snap
-2023/05/20 | 965 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
-2023/05/20 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_options.txt.snap
-2023/05/20 | 365 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_simple.txt.snap
-2023/05/20 | 624 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_command.txt.snap
-2023/05/20 | 552 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_options.txt.snap
-2023/05/20 | 447 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path.txt.snap
-2023/05/20 | 312 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_missing_end.txt.snap
-2023/05/20 | 332 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_simple.txt.snap
-2023/05/20 | 821 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__equation_missing_end.txt.snap
-2023/05/20 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__escaped_brackets.txt.snap
-2023/05/20 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_braces.txt.snap
-2023/05/20 | 244 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets.txt.snap
-2023/05/20 | 330 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets_with_group.txt.snap
-2023/05/20 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@hello_world.txt.snap
-2023/05/20 | 861 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_options.txt.snap
-2023/05/20 | 386 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_simple.txt.snap
-2023/05/20 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
-2023/05/20 | 323 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_empty.txt.snap
-2023/05/20 | 1066 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_options.txt.snap
-2023/05/20 | 375 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_simple.txt.snap
-2023/05/20 | 900 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_command.txt.snap
-2023/05/20 | 762 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
-2023/05/20 | 717 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_options.txt.snap
-2023/05/20 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_simple.txt.snap
-2023/05/20 | 316 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_incomplete.txt.snap
-2023/05/20 | 470 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_simple.txt.snap
-2023/05/20 | 703 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_options.txt.snap
-2023/05/20 | 373 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
-2023/05/20 | 429 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
-2023/05/20 | 363 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_simple.txt.snap
-2023/05/20 | 477 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
-2023/05/20 | 324 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_empty.txt.snap
-2023/05/20 | 483 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_multiple.txt.snap
-2023/05/20 | 1067 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_options.txt.snap
-2023/05/20 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_simple.txt.snap
-2023/05/20 | 382 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
-2023/05/20 | 702 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_options.txt.snap
-2023/05/20 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_simple.txt.snap
-2023/05/20 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__tikz_library_import_simple.txt.snap
-2023/05/20 | 385 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__verbatim_include_simple.txt.snap
-2023/05/20 | 649 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline_double_dollar.txt.snap
-2023/05/20 | 631 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline.txt.snap
-2023/05/20 | 4300 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_745.txt.snap
-2023/05/20 | 347 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_789.txt.snap
-2023/05/20 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
-2023/05/20 | 1791 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_853.txt.snap
-2023/05/20 | 904 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_857.txt.snap
-2023/05/20 | 745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_874.txt.snap
-2023/05/20 | 452 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_line_break.txt.snap
-2023/05/20 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_simple.txt.snap
-2023/05/20 | 563 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_number.txt.snap
-2023/05/20 | 361 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_equation.txt.snap
-2023/05/20 | 825 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_incomplete.txt.snap
-2023/05/20 | 456 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_multiple.txt.snap
-2023/05/20 | 479 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_error.txt.snap
-2023/05/20 | 380 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
-2023/05/20 | 507 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_simple.txt.snap
-2023/05/20 | 349 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_simple.txt.snap
-2023/05/20 | 187 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter_error.txt.snap
-2023/05/20 | 182 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter.txt.snap
-2023/05/20 | 1260 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_enum_item.txt.snap
-2023/05/20 | 565 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
-2023/05/20 | 1745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_nested.txt.snap
-2023/05/20 | 706 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_siblings.txt.snap
-2023/05/20 | 771 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
-2023/05/20 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
-2023/05/20 | 669 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
-2023/05/20 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
-2023/05/20 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
-2023/05/20 | 82 | support/texlab/crates/parser/src/test_data/bibtex/comment.txt
-2023/05/20 | 50 | support/texlab/crates/parser/src/test_data/bibtex/issue_809.txt
-2023/05/20 | 25 | support/texlab/crates/parser/src/test_data/bibtex/preamble.txt
-2023/05/20 | 314 | support/texlab/crates/parser/src/test_data/bibtex/samples/aho_2006.txt
-2023/05/20 | 679 | support/texlab/crates/parser/src/test_data/bibtex/samples/aksin_2006.txt
-2023/05/20 | 706 | support/texlab/crates/parser/src/test_data/bibtex/samples/almendro_1998.txt
-2023/05/20 | 1008 | support/texlab/crates/parser/src/test_data/bibtex/samples/averroes_1998.txt
-2023/05/20 | 556 | support/texlab/crates/parser/src/test_data/bibtex/samples/betram_1996.txt
-2023/05/20 | 860 | support/texlab/crates/parser/src/test_data/bibtex/samples/blom_2021.txt
-2023/05/20 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/combi_2004.txt
-2023/05/20 | 615 | support/texlab/crates/parser/src/test_data/bibtex/samples/erwin_2007.txt
-2023/05/20 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/jain_1999.txt
-2023/05/20 | 898 | support/texlab/crates/parser/src/test_data/bibtex/samples/kastenholz_2006.txt
-2023/05/20 | 993 | support/texlab/crates/parser/src/test_data/bibtex/samples/knuth_1984.txt
-2023/05/20 | 517 | support/texlab/crates/parser/src/test_data/bibtex/samples/matuz_1990.txt
-2023/05/20 | 1112 | support/texlab/crates/parser/src/test_data/bibtex/samples/nietzsche_1998.txt
-2023/05/20 | 557 | support/texlab/crates/parser/src/test_data/bibtex/samples/rivest_1978.txt
-2023/05/20 | 3194 | support/texlab/crates/parser/src/test_data/build_log/001.txt
-2023/05/20 | 2455 | support/texlab/crates/parser/src/test_data/build_log/002.txt
-2023/05/20 | 2515 | support/texlab/crates/parser/src/test_data/build_log/003.txt
-2023/05/20 | 3057 | support/texlab/crates/parser/src/test_data/build_log/004.txt
-2023/05/20 | 13353 | support/texlab/crates/parser/src/test_data/build_log/005.txt
-2023/05/20 | 4130 | support/texlab/crates/parser/src/test_data/build_log/006.txt
-2023/05/20 | 7762 | support/texlab/crates/parser/src/test_data/build_log/007.txt
-2023/05/20 | 48 | support/texlab/crates/parser/src/test_data/latex/block_comments.txt
-2023/05/20 | 26 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default_error.txt
-2023/05/20 | 27 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default.txt
-2023/05/20 | 39 | support/texlab/crates/parser/src/test_data/latex/caption/caption_figure.txt
-2023/05/20 | 21 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal_error.txt
-2023/05/20 | 22 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal.txt
-2023/05/20 | 7 | support/texlab/crates/parser/src/test_data/latex/citation/citation_empty.txt
-2023/05/20 | 9 | support/texlab/crates/parser/src/test_data/latex/citation/citation_missing_brace.txt
-2023/05/20 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_multiple_keys.txt
-2023/05/20 | 20 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote_postnote.txt
-2023/05/20 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote.txt
-2023/05/20 | 12 | support/texlab/crates/parser/src/test_data/latex/citation/citation_redundant_comma.txt
-2023/05/20 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_simple.txt
-2023/05/20 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_star.txt
-2023/05/20 | 33 | support/texlab/crates/parser/src/test_data/latex/color/color_definition_simple.txt
-2023/05/20 | 13 | support/texlab/crates/parser/src/test_data/latex/color/color_reference_simple.txt
-2023/05/20 | 39 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error1.txt
-2023/05/20 | 30 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error2.txt
-2023/05/20 | 25 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error3.txt
-2023/05/20 | 15 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error4.txt
-2023/05/20 | 44 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_simple.txt
-2023/05/20 | 22 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_argc.txt
-2023/05/20 | 16 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl_error.txt
-2023/05/20 | 17 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl.txt
-2023/05/20 | 29 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_optional.txt
-2023/05/20 | 23 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_simple.txt
-2023/05/20 | 80 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_with_begin.txt
-2023/05/20 | 26 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_no_impl.txt
-2023/05/20 | 31 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_simple.txt
-2023/05/20 | 50 | support/texlab/crates/parser/src/test_data/latex/environment/environment_asymptote.txt
-2023/05/20 | 44 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition_optional_arg.txt
-2023/05/20 | 47 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition.txt
-2023/05/20 | 52 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested_missing_braces.txt
-2023/05/20 | 43 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested.txt
-2023/05/20 | 33 | support/texlab/crates/parser/src/test_data/latex/environment/environment_simple.txt
-2023/05/20 | 28 | support/texlab/crates/parser/src/test_data/latex/equation_missing_begin.txt
-2023/05/20 | 13 | support/texlab/crates/parser/src/test_data/latex/equation.txt
-2023/05/20 | 14 | support/texlab/crates/parser/src/test_data/latex/generic_command_args.txt
-2023/05/20 | 4 | support/texlab/crates/parser/src/test_data/latex/generic_command_empty.txt
-2023/05/20 | 2 | support/texlab/crates/parser/src/test_data/latex/generic_command_escape.txt
-2023/05/20 | 64 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_declaration.txt
-2023/05/20 | 76 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_options.txt
-2023/05/20 | 44 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_simple.txt
-2023/05/20 | 35 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_package.txt
-2023/05/20 | 32 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_options.txt
-2023/05/20 | 19 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_simple.txt
-2023/05/20 | 39 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_definition_simple.txt
-2023/05/20 | 25 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_options.txt
-2023/05/20 | 9 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_simple.txt
-2023/05/20 | 32 | support/texlab/crates/parser/src/test_data/latex/graphics_path_command.txt
-2023/05/20 | 33 | support/texlab/crates/parser/src/test_data/latex/graphics_path_options.txt
-2023/05/20 | 28 | support/texlab/crates/parser/src/test_data/latex/graphics_path.txt
-2023/05/20 | 12 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_missing_end.txt
-2023/05/20 | 13 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_simple.txt
-2023/05/20 | 28 | support/texlab/crates/parser/src/test_data/latex/group/equation_missing_end.txt
-2023/05/20 | 6 | support/texlab/crates/parser/src/test_data/latex/group/escaped_brackets.txt
-2023/05/20 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_braces.txt
-2023/05/20 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets.txt
-2023/05/20 | 4 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets_with_group.txt
-2023/05/20 | 12 | support/texlab/crates/parser/src/test_data/latex/hello_world.txt
-2023/05/20 | 42 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_options.txt
-2023/05/20 | 28 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_simple.txt
-2023/05/20 | 22 | support/texlab/crates/parser/src/test_data/latex/include/bibtex_include_simple.txt
-2023/05/20 | 16 | support/texlab/crates/parser/src/test_data/latex/include/class_include_empty.txt
-2023/05/20 | 44 | support/texlab/crates/parser/src/test_data/latex/include/class_include_options.txt
-2023/05/20 | 23 | support/texlab/crates/parser/src/test_data/latex/include/class_include_simple.txt
-2023/05/20 | 52 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_command.txt
-2023/05/20 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_complicated_options.txt
-2023/05/20 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_options.txt
-2023/05/20 | 29 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_simple.txt
-2023/05/20 | 11 | support/texlab/crates/parser/src/test_data/latex/include/import_incomplete.txt
-2023/05/20 | 17 | support/texlab/crates/parser/src/test_data/latex/include/import_simple.txt
-2023/05/20 | 30 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_options.txt
-2023/05/20 | 20 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_simple.txt
-2023/05/20 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_equality_sign.txt
-2023/05/20 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_simple.txt
-2023/05/20 | 20 | support/texlab/crates/parser/src/test_data/latex/include/latex_input_path_brackets.txt
-2023/05/20 | 13 | support/texlab/crates/parser/src/test_data/latex/include/package_include_empty.txt
-2023/05/20 | 28 | support/texlab/crates/parser/src/test_data/latex/include/package_include_multiple.txt
-2023/05/20 | 41 | support/texlab/crates/parser/src/test_data/latex/include/package_include_options.txt
-2023/05/20 | 20 | support/texlab/crates/parser/src/test_data/latex/include/package_include_simple.txt
-2023/05/20 | 19 | support/texlab/crates/parser/src/test_data/latex/include/pgf_library_import_simple.txt
-2023/05/20 | 34 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_options.txt
-2023/05/20 | 24 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_simple.txt
-2023/05/20 | 20 | support/texlab/crates/parser/src/test_data/latex/include/tikz_library_import_simple.txt
-2023/05/20 | 27 | support/texlab/crates/parser/src/test_data/latex/include/verbatim_include_simple.txt
-2023/05/20 | 21 | support/texlab/crates/parser/src/test_data/latex/inline_double_dollar.txt
-2023/05/20 | 19 | support/texlab/crates/parser/src/test_data/latex/inline.txt
-2023/05/20 | 271 | support/texlab/crates/parser/src/test_data/latex/issue_745.txt
-2023/05/20 | 19 | support/texlab/crates/parser/src/test_data/latex/issue_789.txt
-2023/05/20 | 51 | support/texlab/crates/parser/src/test_data/latex/issue_828.txt
-2023/05/20 | 135 | support/texlab/crates/parser/src/test_data/latex/issue_853.txt
-2023/05/20 | 55 | support/texlab/crates/parser/src/test_data/latex/issue_857.txt
-2023/05/20 | 37 | support/texlab/crates/parser/src/test_data/latex/issue_874.txt
-2023/05/20 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_line_break.txt
-2023/05/20 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_simple.txt
-2023/05/20 | 21 | support/texlab/crates/parser/src/test_data/latex/label/label_number.txt
-2023/05/20 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_equation.txt
-2023/05/20 | 47 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_incomplete.txt
-2023/05/20 | 14 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_multiple.txt
-2023/05/20 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_error.txt
-2023/05/20 | 15 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_incomplete.txt
-2023/05/20 | 20 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_simple.txt
-2023/05/20 | 9 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_simple.txt
-2023/05/20 | 1 | support/texlab/crates/parser/src/test_data/latex/parameter_error.txt
-2023/05/20 | 2 | support/texlab/crates/parser/src/test_data/latex/parameter.txt
-2023/05/20 | 60 | support/texlab/crates/parser/src/test_data/latex/structure/structure_enum_item.txt
-2023/05/20 | 27 | support/texlab/crates/parser/src/test_data/latex/structure/structure_invalid_nesting.txt
-2023/05/20 | 90 | support/texlab/crates/parser/src/test_data/latex/structure/structure_nested.txt
-2023/05/20 | 35 | support/texlab/crates/parser/src/test_data/latex/structure/structure_siblings.txt
-2023/05/20 | 31 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_full.txt
-2023/05/20 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_counter.txt
-2023/05/20 | 26 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
-2023/05/20 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description.txt
-2023/05/20 | 16 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_only_name.txt
-2023/05/20 | 453 | support/texlab/crates/symbols/Cargo.toml
-2023/05/20 | 1980 | support/texlab/crates/symbols/src/document/bib.rs
-2023/05/20 | 1535 | support/texlab/crates/symbols/src/document.rs
-2023/05/20 | 797 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap
-2023/05/20 | 1679 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap
-2023/05/20 | 841 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap
-2023/05/20 | 846 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap
-2023/05/20 | 386 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap
-2023/05/20 | 933 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap
-2023/05/20 | 1120 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap
-2023/05/20 | 4868 | support/texlab/crates/symbols/src/document/tests.rs
-2023/05/20 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
-2023/05/20 | 175 | support/texlab/crates/symbols/src/lib.rs
-2023/05/20 | 2620 | support/texlab/crates/symbols/src/types.rs
-2023/05/20 | 1321 | support/texlab/crates/symbols/src/workspace.rs
-2023/05/20 | 823 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap
-2023/05/20 | 566 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap
-2023/05/20 | 1443 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap
-2023/05/20 | 1009 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap
-2023/05/20 | 1871 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap
-2023/05/20 | 5645 | support/texlab/crates/symbols/src/workspace/sort.rs
-2023/05/20 | 2360 | support/texlab/crates/symbols/src/workspace/tests.rs
-2023/05/20 | 227 | support/texlab/crates/syntax/Cargo.toml
-2023/05/20 | 7955 | support/texlab/crates/syntax/src/bibtex.rs
-2023/05/20 | 16979 | support/texlab/crates/syntax/src/latex/cst.rs
-2023/05/20 | 1668 | support/texlab/crates/syntax/src/latex/kind.rs
-2023/05/20 | 689 | support/texlab/crates/syntax/src/latex.rs
-2023/05/20 | 864 | support/texlab/crates/syntax/src/lib.rs
-2023/05/20 | 322 | support/texlab/crates/test-utils/Cargo.toml
-2023/05/20 | 2899 | support/texlab/crates/test-utils/src/fixture.rs
-2023/05/20 | 17 | support/texlab/crates/test-utils/src/lib.rs
-2023/05/20 | 1274 | support/texlab/crates/texlab/benches/bench_main.rs
-2023/05/20 | 1781 | support/texlab/crates/texlab/Cargo.toml
-2023/05/20 | 6970534 | support/texlab/crates/texlab/data/components.json.gz
-2023/05/20 | 3223 | support/texlab/crates/texlab/src/client.rs
-2023/05/20 | 838 | support/texlab/crates/texlab/src/features/completion/acronym_ref.rs
-2023/05/20 | 1717 | support/texlab/crates/texlab/src/features/completion/argument.rs
-2023/05/20 | 283 | support/texlab/crates/texlab/src/features/completion/begin_snippet.rs
-2023/05/20 | 25291 | support/texlab/crates/texlab/src/features/completion/builder.rs
-2023/05/20 | 1654 | support/texlab/crates/texlab/src/features/completion/citation.rs
-2023/05/20 | 1238 | support/texlab/crates/texlab/src/features/completion/color_model.rs
-2023/05/20 | 1829 | support/texlab/crates/texlab/src/features/completion/color.rs
-2023/05/20 | 680 | support/texlab/crates/texlab/src/features/completion/component_command.rs
-2023/05/20 | 516 | support/texlab/crates/texlab/src/features/completion/component_environment.rs
-2023/05/20 | 681 | support/texlab/crates/texlab/src/features/completion/entry_type.rs
-2023/05/20 | 824 | support/texlab/crates/texlab/src/features/completion/field.rs
-2023/05/20 | 1191 | support/texlab/crates/texlab/src/features/completion/glossary_ref.rs
-2023/05/20 | 1556 | support/texlab/crates/texlab/src/features/completion/import.rs
-2023/05/20 | 4028 | support/texlab/crates/texlab/src/features/completion/include.rs
-2023/05/20 | 2839 | support/texlab/crates/texlab/src/features/completion/label.rs
-2023/05/20 | 1036 | support/texlab/crates/texlab/src/features/completion/matcher.rs
-2023/05/20 | 1917 | support/texlab/crates/texlab/src/features/completion.rs
-2023/05/20 | 554 | support/texlab/crates/texlab/src/features/completion/theorem.rs
-2023/05/20 | 3061 | support/texlab/crates/texlab/src/features/completion/tikz_library.rs
-2023/05/20 | 642 | support/texlab/crates/texlab/src/features/completion/user_command.rs
-2023/05/20 | 637 | support/texlab/crates/texlab/src/features/completion/user_environment.rs
-2023/05/20 | 1300 | support/texlab/crates/texlab/src/features/definition/command.rs
-2023/05/20 | 984 | support/texlab/crates/texlab/src/features/definition/document.rs
-2023/05/20 | 1191 | support/texlab/crates/texlab/src/features/definition/entry.rs
-2023/05/20 | 1166 | support/texlab/crates/texlab/src/features/definition/label.rs
-2023/05/20 | 1856 | support/texlab/crates/texlab/src/features/definition.rs
-2023/05/20 | 1037 | support/texlab/crates/texlab/src/features/definition/string.rs
-2023/05/20 | 2143 | support/texlab/crates/texlab/src/features/folding.rs
-2023/05/20 | 7202 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
-2023/05/20 | 2007 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
-2023/05/20 | 1083 | support/texlab/crates/texlab/src/features/formatting.rs
-2023/05/20 | 1049 | support/texlab/crates/texlab/src/features/highlight/label.rs
-2023/05/20 | 358 | support/texlab/crates/texlab/src/features/highlight.rs
-2023/05/20 | 749 | support/texlab/crates/texlab/src/features/hover/citation.rs
-2023/05/20 | 819 | support/texlab/crates/texlab/src/features/hover/component.rs
-2023/05/20 | 590 | support/texlab/crates/texlab/src/features/hover/entry_type.rs
-2023/05/20 | 609 | support/texlab/crates/texlab/src/features/hover/field.rs
-2023/05/20 | 858 | support/texlab/crates/texlab/src/features/hover/label.rs
-2023/05/20 | 1171 | support/texlab/crates/texlab/src/features/hover.rs
-2023/05/20 | 1189 | support/texlab/crates/texlab/src/features/hover/string_ref.rs
-2023/05/20 | 1330 | support/texlab/crates/texlab/src/features/inlay_hint/label.rs
-2023/05/20 | 1283 | support/texlab/crates/texlab/src/features/inlay_hint.rs
-2023/05/20 | 555 | support/texlab/crates/texlab/src/features/link/include.rs
-2023/05/20 | 932 | support/texlab/crates/texlab/src/features/link.rs
-2023/05/20 | 1898 | support/texlab/crates/texlab/src/features/reference/entry.rs
-2023/05/20 | 1007 | support/texlab/crates/texlab/src/features/reference/label.rs
-2023/05/20 | 1070 | support/texlab/crates/texlab/src/features/reference.rs
-2023/05/20 | 1402 | support/texlab/crates/texlab/src/features/reference/string.rs
-2023/05/20 | 1305 | support/texlab/crates/texlab/src/features/rename/command.rs
-2023/05/20 | 2292 | support/texlab/crates/texlab/src/features/rename/entry.rs
-2023/05/20 | 1066 | support/texlab/crates/texlab/src/features/rename/label.rs
-2023/05/20 | 1740 | support/texlab/crates/texlab/src/features/rename.rs
-2023/05/20 | 197 | support/texlab/crates/texlab/src/features.rs
-2023/05/20 | 4126 | support/texlab/crates/texlab/src/features/symbols.rs
-2023/05/20 | 108 | support/texlab/crates/texlab/src/lib.rs
-2023/05/20 | 1732 | support/texlab/crates/texlab/src/main.rs
-2023/05/20 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
-2023/05/20 | 2172 | support/texlab/crates/texlab/src/server/extensions.rs
-2023/05/20 | 7562 | support/texlab/crates/texlab/src/server/options.rs
-2023/05/20 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
-2023/05/20 | 39943 | support/texlab/crates/texlab/src/server.rs
-2023/05/20 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
-2023/05/20 | 3729 | support/texlab/crates/texlab/src/util/chktex.rs
-2023/05/20 | 3500 | support/texlab/crates/texlab/src/util/components.rs
-2023/05/20 | 9627 | support/texlab/crates/texlab/src/util/cursor.rs
-2023/05/20 | 4163 | support/texlab/crates/texlab/src/util/diagnostics.rs
-2023/05/20 | 1611 | support/texlab/crates/texlab/src/util/line_index_ext.rs
-2023/05/20 | 4004 | support/texlab/crates/texlab/src/util/lsp_enums.rs
-2023/05/20 | 1667 | support/texlab/crates/texlab/src/util.rs
-2023/05/20 | 8469 | support/texlab/crates/texlab/tests/lsp/fixture.rs
-2023/05/20 | 47 | support/texlab/crates/texlab/tests/lsp/main.rs
-2023/05/20 | 14296 | support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
-2023/05/20 | 3387 | support/texlab/crates/texlab/tests/lsp/text_document/definition.rs
-2023/05/20 | 1322 | support/texlab/crates/texlab/tests/lsp/text_document/document_highlight.rs
-2023/05/20 | 1157 | support/texlab/crates/texlab/tests/lsp/text_document/document_link.rs
-2023/05/20 | 1505 | support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
-2023/05/20 | 1208 | support/texlab/crates/texlab/tests/lsp/text_document/folding_range.rs
-2023/05/20 | 3009 | support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
-2023/05/20 | 3943 | support/texlab/crates/texlab/tests/lsp/text_document/hover.rs
-2023/05/20 | 1737 | support/texlab/crates/texlab/tests/lsp/text_document/inlay_hint.rs
-2023/05/20 | 4169 | support/texlab/crates/texlab/tests/lsp/text_document/references.rs
-2023/05/20 | 1743 | support/texlab/crates/texlab/tests/lsp/text_document/rename.rs
-2023/05/20 | 186 | support/texlab/crates/texlab/tests/lsp/text_document.rs
-2023/05/20 | 226 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_package_ref.snap
-2023/05/20 | 265 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_empty.snap
-2023/05/20 | 278 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_open_brace.snap
-2023/05/20 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_simple.snap
-2023/05/20 | 399 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_empty.snap
-2023/05/20 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_open_brace.snap
-2023/05/20 | 211 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_word.snap
-2023/05/20 | 550 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__begin_environment_without_snippet_support.snap
-2023/05/20 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_acronym.snap
-2023/05/20 | 291 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace_multiple.snap
-2023/05/20 | 269 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace.snap
-2023/05/20 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
-2023/05/20 | 407 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
-2023/05/20 | 403 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_open_brace.snap
-2023/05/20 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_simple.snap
-2023/05/20 | 408 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
-2023/05/20 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_open_brace.snap
-2023/05/20 | 405 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_simple.snap
-2023/05/20 | 414 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_word.snap
-2023/05/20 | 594 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_bibtex.snap
-2023/05/20 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
-2023/05/20 | 494 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple.snap
-2023/05/20 | 257 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_class.snap
-2023/05/20 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_command_definition.snap
-2023/05/20 | 544 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple_end.snap
-2023/05/20 | 223 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple.snap
-2023/05/20 | 194 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_preamble.snap
-2023/05/20 | 186 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_string.snap
-2023/05/20 | 384 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_at_empty.snap
-2023/05/20 | 182 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
-2023/05/20 | 185 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_preamble.snap
-2023/05/20 | 179 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
-2023/05/20 | 205 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
-2023/05/20 | 421 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_closed.snap
-2023/05/20 | 420 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_open.snap
-2023/05/20 | 441 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_field_name.snap
-2023/05/20 | 486 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_closed.snap
-2023/05/20 | 485 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_open.snap
-2023/05/20 | 263 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
-2023/05/20 | 264 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_simple.snap
-2023/05/20 | 459 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_closed_brace.snap
-2023/05/20 | 464 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
-2023/05/20 | 449 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_closed_brace.snap
-2023/05/20 | 448 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_open_brace.snap
-2023/05/20 | 512 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_857_1.snap
-2023/05/20 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_864.snap
-2023/05/20 | 247 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
-2023/05/20 | 1076 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_885.snap
-2023/05/20 | 1814 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__label.snap
-2023/05/20 | 699 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_import.snap
-2023/05/20 | 711 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_texlabroot.snap
-2023/05/20 | 250 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_begin.snap
-2023/05/20 | 255 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_end.snap
-2023/05/20 | 452 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_closed_brace.snap
-2023/05/20 | 451 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_open_brace.snap
-2023/05/20 | 273 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_command.snap
-2023/05/20 | 351 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_environment.snap
-2023/05/20 | 368 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_import.snap
-2023/05/20 | 355 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_include.snap
-2023/05/20 | 2586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap
-2023/05/20 | 650 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__bibtex.snap
-2023/05/20 | 841 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__latex.snap
-2023/05/20 | 167 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_command.snap
-2023/05/20 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_insert_braces.snap
-2023/05/20 | 181 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
-2023/05/20 | 946 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_multiple_entries.snap
-2023/05/20 | 132 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_parens.snap
-2023/05/20 | 160 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
-2023/05/20 | 143 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_string.snap
-2023/05/20 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_trailing_comma.snap
-2023/05/20 | 520 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
-2023/05/20 | 308 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_cite.snap
-2023/05/20 | 314 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_entry.snap
-2023/05/20 | 875 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__component_known_package.snap
-2023/05/20 | 659 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__entry_type_known_type.snap
-2023/05/20 | 234 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__field_known.snap
-2023/05/20 | 406 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file_mumber.snap
-2023/05/20 | 332 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file.snap
-2023/05/20 | 212 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__section.snap
-2023/05/20 | 272 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__string_inside_reference.snap
-2023/05/20 | 1586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
-2023/05/20 | 12 | support/texlab/crates/texlab/tests/lsp/workspace.rs
-2023/05/20 | 1922 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap
-2023/05/20 | 1051 | support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
-2023/05/20 | 380190 | support/texlab/images/demo.gif
-2023/05/20 | 35149 | support/texlab/LICENSE
-2023/05/20 | 3767 | support/texlab/README.md
-2023/05/20 | 613 | support/texlab/texlab.1
-2023/05/20 | 26324 | support/texlab/texlab.pdf
-2023/05/20 | 2586 | support/texlab/texlab.tex
-2023/05/20 | 7725531 | support/texlab.zip
+2023/06/07 | 48749 | support/texlab/Cargo.lock
+2023/06/07 | 332 | support/texlab/Cargo.toml
+2023/06/07 | 29479 | support/texlab/CHANGELOG.md
+2023/06/07 | 181 | support/texlab/CONTRIBUTING.md
+2023/06/07 | 490 | support/texlab/crates/base-db/Cargo.toml
+2023/06/07 | 3734 | support/texlab/crates/base-db/src/config.rs
+2023/06/07 | 58317 | support/texlab/crates/base-db/src/data.rs
+2023/06/07 | 1921 | support/texlab/crates/base-db/src/diagnostics/bib.rs
+2023/06/07 | 2201 | support/texlab/crates/base-db/src/diagnostics/log.rs
+2023/06/07 | 430 | support/texlab/crates/base-db/src/diagnostics.rs
+2023/06/07 | 3546 | support/texlab/crates/base-db/src/diagnostics/tex.rs
+2023/06/07 | 4953 | support/texlab/crates/base-db/src/document.rs
+2023/06/07 | 5136 | support/texlab/crates/base-db/src/graph.rs
+2023/06/07 | 179 | support/texlab/crates/base-db/src/lib.rs
+2023/06/07 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
+2023/06/07 | 585 | support/texlab/crates/base-db/src/semantics.rs
+2023/06/07 | 9890 | support/texlab/crates/base-db/src/semantics/tex.rs
+2023/06/07 | 5900 | support/texlab/crates/base-db/src/util/label.rs
+2023/06/07 | 6484 | support/texlab/crates/base-db/src/util/line_index.rs
+2023/06/07 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
+2023/06/07 | 227 | support/texlab/crates/base-db/src/util.rs
+2023/06/07 | 9206 | support/texlab/crates/base-db/src/workspace.rs
+2023/06/07 | 538 | support/texlab/crates/citeproc/Cargo.toml
+2023/06/07 | 22210 | support/texlab/crates/citeproc/src/driver.rs
+2023/06/07 | 4724 | support/texlab/crates/citeproc/src/entry.rs
+2023/06/07 | 2074 | support/texlab/crates/citeproc/src/field/author.rs
+2023/06/07 | 2665 | support/texlab/crates/citeproc/src/field/date.rs
+2023/06/07 | 1626 | support/texlab/crates/citeproc/src/field/number.rs
+2023/06/07 | 60 | support/texlab/crates/citeproc/src/field.rs
+2023/06/07 | 8955 | support/texlab/crates/citeproc/src/field/text.rs
+2023/06/07 | 890 | support/texlab/crates/citeproc/src/lib.rs
+2023/06/07 | 1760 | support/texlab/crates/citeproc/src/output.rs
+2023/06/07 | 1052 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_aksin_2006.snap
+2023/06/07 | 788 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_betram_1996.snap
+2023/06/07 | 1317 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_blom_2021.snap
+2023/06/07 | 1050 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_jain_1999.snap
+2023/06/07 | 1301 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_kastenholz_2006.snap
+2023/06/07 | 976 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_rivest_1978.snap
+2023/06/07 | 572 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_aho_2006.snap
+2023/06/07 | 1398 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_averroes_1998.snap
+2023/06/07 | 1210 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_knuth_1984.snap
+2023/06/07 | 707 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__collection_matuz_1990.snap
+2023/06/07 | 1163 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_combi_2004.snap
+2023/06/07 | 1038 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_erwin_2007.snap
+2023/06/07 | 1415 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__mvbook_nietzsche_1988.snap
+2023/06/07 | 954 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__patent_almendro_1998.snap
+2023/06/07 | 11868 | support/texlab/crates/citeproc/src/tests.rs
+2023/06/07 | 588 | support/texlab/crates/commands/Cargo.toml
+2023/06/07 | 3838 | support/texlab/crates/commands/src/build.rs
+2023/06/07 | 987 | support/texlab/crates/commands/src/change_env.rs
+2023/06/07 | 1550 | support/texlab/crates/commands/src/clean.rs
+2023/06/07 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
+2023/06/07 | 1673 | support/texlab/crates/commands/src/find_envs.rs
+2023/06/07 | 3027 | support/texlab/crates/commands/src/fwd_search.rs
+2023/06/07 | 389 | support/texlab/crates/commands/src/lib.rs
+2023/06/07 | 1583 | support/texlab/crates/commands/src/placeholders.rs
+2023/06/07 | 448 | support/texlab/crates/commands/src/snapshots/commands__find_envs__tests__test.snap
+2023/06/07 | 227 | support/texlab/crates/distro/Cargo.toml
+2023/06/07 | 1812 | support/texlab/crates/distro/src/file_name_db.rs
+2023/06/07 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
+2023/06/07 | 1124 | support/texlab/crates/distro/src/language.rs
+2023/06/07 | 1997 | support/texlab/crates/distro/src/lib.rs
+2023/06/07 | 2467 | support/texlab/crates/distro/src/miktex.rs
+2023/06/07 | 820 | support/texlab/crates/distro/src/texlive.rs
+2023/06/07 | 407 | support/texlab/crates/parser/Cargo.toml
+2023/06/07 | 11420 | support/texlab/crates/parser/src/bibtex.rs
+2023/06/07 | 5684 | support/texlab/crates/parser/src/build_log.rs
+2023/06/07 | 3009 | support/texlab/crates/parser/src/config.rs
+2023/06/07 | 5386 | support/texlab/crates/parser/src/latex/lexer/commands.rs
+2023/06/07 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
+2023/06/07 | 2749 | support/texlab/crates/parser/src/latex/lexer/types.rs
+2023/06/07 | 35087 | support/texlab/crates/parser/src/latex.rs
+2023/06/07 | 148 | support/texlab/crates/parser/src/lib.rs
+2023/06/07 | 234 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@comment.txt.snap
+2023/06/07 | 761 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_809.txt.snap
+2023/06/07 | 373 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@preamble.txt.snap
+2023/06/07 | 3667 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aho_2006.txt.snap
+2023/06/07 | 7531 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
+2023/06/07 | 7322 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
+2023/06/07 | 10380 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
+2023/06/07 | 5864 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__betram_1996.txt.snap
+2023/06/07 | 6644 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__blom_2021.txt.snap
+2023/06/07 | 7157 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__combi_2004.txt.snap
+2023/06/07 | 6836 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
+2023/06/07 | 7528 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__jain_1999.txt.snap
+2023/06/07 | 8868 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__kastenholz_2006.txt.snap
+2023/06/07 | 9479 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
+2023/06/07 | 5060 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__matuz_1990.txt.snap
+2023/06/07 | 11015 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
+2023/06/07 | 6472 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
+2023/06/07 | 716 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@001.txt.snap
+2023/06/07 | 448 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@002.txt.snap
+2023/06/07 | 673 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@003.txt.snap
+2023/06/07 | 975 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@004.txt.snap
+2023/06/07 | 953 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@005.txt.snap
+2023/06/07 | 1672 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@006.txt.snap
+2023/06/07 | 464 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@007.txt.snap
+2023/06/07 | 746 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@block_comments.txt.snap
+2023/06/07 | 626 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default_error.txt.snap
+2023/06/07 | 647 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default.txt.snap
+2023/06/07 | 772 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_figure.txt.snap
+2023/06/07 | 499 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
+2023/06/07 | 520 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal.txt.snap
+2023/06/07 | 295 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_empty.txt.snap
+2023/06/07 | 321 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_missing_brace.txt.snap
+2023/06/07 | 453 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
+2023/06/07 | 608 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
+2023/06/07 | 472 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote.txt.snap
+2023/06/07 | 404 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
+2023/06/07 | 344 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_simple.txt.snap
+2023/06/07 | 342 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_star.txt.snap
+2023/06/07 | 734 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_definition_simple.txt.snap
+2023/06/07 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_reference_simple.txt.snap
+2023/06/07 | 849 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
+2023/06/07 | 588 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
+2023/06/07 | 457 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error3.txt.snap
+2023/06/07 | 248 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
+2023/06/07 | 980 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_simple.txt.snap
+2023/06/07 | 504 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_argc.txt.snap
+2023/06/07 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
+2023/06/07 | 377 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
+2023/06/07 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_optional.txt.snap
+2023/06/07 | 645 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
+2023/06/07 | 1177 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
+2023/06/07 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
+2023/06/07 | 502 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_simple.txt.snap
+2023/06/07 | 1074 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_asymptote.txt.snap
+2023/06/07 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition_optional_arg.txt.snap
+2023/06/07 | 1103 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition.txt.snap
+2023/06/07 | 1191 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested_missing_braces.txt.snap
+2023/06/07 | 1121 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested.txt.snap
+2023/06/07 | 742 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_simple.txt.snap
+2023/06/07 | 814 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation_missing_begin.txt.snap
+2023/06/07 | 379 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation.txt.snap
+2023/06/07 | 460 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_args.txt.snap
+2023/06/07 | 216 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_empty.txt.snap
+2023/06/07 | 215 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_escape.txt.snap
+2023/06/07 | 1464 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
+2023/06/07 | 1359 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
+2023/06/07 | 758 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_simple.txt.snap
+2023/06/07 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_package.txt.snap
+2023/06/07 | 815 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
+2023/06/07 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_simple.txt.snap
+2023/06/07 | 965 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
+2023/06/07 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_options.txt.snap
+2023/06/07 | 365 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_simple.txt.snap
+2023/06/07 | 624 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_command.txt.snap
+2023/06/07 | 552 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_options.txt.snap
+2023/06/07 | 447 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path.txt.snap
+2023/06/07 | 312 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_missing_end.txt.snap
+2023/06/07 | 332 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_simple.txt.snap
+2023/06/07 | 821 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__equation_missing_end.txt.snap
+2023/06/07 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__escaped_brackets.txt.snap
+2023/06/07 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_braces.txt.snap
+2023/06/07 | 244 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets.txt.snap
+2023/06/07 | 330 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets_with_group.txt.snap
+2023/06/07 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@hello_world.txt.snap
+2023/06/07 | 861 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_options.txt.snap
+2023/06/07 | 386 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_simple.txt.snap
+2023/06/07 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
+2023/06/07 | 323 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_empty.txt.snap
+2023/06/07 | 1066 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_options.txt.snap
+2023/06/07 | 375 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_simple.txt.snap
+2023/06/07 | 900 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_command.txt.snap
+2023/06/07 | 762 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
+2023/06/07 | 717 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_options.txt.snap
+2023/06/07 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_simple.txt.snap
+2023/06/07 | 316 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_incomplete.txt.snap
+2023/06/07 | 470 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_simple.txt.snap
+2023/06/07 | 703 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_options.txt.snap
+2023/06/07 | 373 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
+2023/06/07 | 429 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
+2023/06/07 | 363 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_simple.txt.snap
+2023/06/07 | 477 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
+2023/06/07 | 324 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_empty.txt.snap
+2023/06/07 | 483 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_multiple.txt.snap
+2023/06/07 | 1067 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_options.txt.snap
+2023/06/07 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_simple.txt.snap
+2023/06/07 | 382 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
+2023/06/07 | 702 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_options.txt.snap
+2023/06/07 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_simple.txt.snap
+2023/06/07 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__tikz_library_import_simple.txt.snap
+2023/06/07 | 385 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__verbatim_include_simple.txt.snap
+2023/06/07 | 649 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline_double_dollar.txt.snap
+2023/06/07 | 631 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline.txt.snap
+2023/06/07 | 4300 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_745.txt.snap
+2023/06/07 | 347 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_789.txt.snap
+2023/06/07 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
+2023/06/07 | 1791 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_853.txt.snap
+2023/06/07 | 904 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_857.txt.snap
+2023/06/07 | 745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_874.txt.snap
+2023/06/07 | 452 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_line_break.txt.snap
+2023/06/07 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_simple.txt.snap
+2023/06/07 | 563 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_number.txt.snap
+2023/06/07 | 361 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_equation.txt.snap
+2023/06/07 | 825 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_incomplete.txt.snap
+2023/06/07 | 456 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_multiple.txt.snap
+2023/06/07 | 479 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_error.txt.snap
+2023/06/07 | 380 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
+2023/06/07 | 507 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_simple.txt.snap
+2023/06/07 | 349 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_simple.txt.snap
+2023/06/07 | 187 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter_error.txt.snap
+2023/06/07 | 182 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter.txt.snap
+2023/06/07 | 1883 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__paragraphs.txt.snap
+2023/06/07 | 1260 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_enum_item.txt.snap
+2023/06/07 | 565 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
+2023/06/07 | 1745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_nested.txt.snap
+2023/06/07 | 706 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_siblings.txt.snap
+2023/06/07 | 778 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
+2023/06/07 | 533 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
+2023/06/07 | 676 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
+2023/06/07 | 533 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
+2023/06/07 | 394 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
+2023/06/07 | 998 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_thmtools.txt.snap
+2023/06/07 | 82 | support/texlab/crates/parser/src/test_data/bibtex/comment.txt
+2023/06/07 | 50 | support/texlab/crates/parser/src/test_data/bibtex/issue_809.txt
+2023/06/07 | 25 | support/texlab/crates/parser/src/test_data/bibtex/preamble.txt
+2023/06/07 | 314 | support/texlab/crates/parser/src/test_data/bibtex/samples/aho_2006.txt
+2023/06/07 | 679 | support/texlab/crates/parser/src/test_data/bibtex/samples/aksin_2006.txt
+2023/06/07 | 706 | support/texlab/crates/parser/src/test_data/bibtex/samples/almendro_1998.txt
+2023/06/07 | 1008 | support/texlab/crates/parser/src/test_data/bibtex/samples/averroes_1998.txt
+2023/06/07 | 556 | support/texlab/crates/parser/src/test_data/bibtex/samples/betram_1996.txt
+2023/06/07 | 860 | support/texlab/crates/parser/src/test_data/bibtex/samples/blom_2021.txt
+2023/06/07 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/combi_2004.txt
+2023/06/07 | 615 | support/texlab/crates/parser/src/test_data/bibtex/samples/erwin_2007.txt
+2023/06/07 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/jain_1999.txt
+2023/06/07 | 898 | support/texlab/crates/parser/src/test_data/bibtex/samples/kastenholz_2006.txt
+2023/06/07 | 993 | support/texlab/crates/parser/src/test_data/bibtex/samples/knuth_1984.txt
+2023/06/07 | 517 | support/texlab/crates/parser/src/test_data/bibtex/samples/matuz_1990.txt
+2023/06/07 | 1112 | support/texlab/crates/parser/src/test_data/bibtex/samples/nietzsche_1998.txt
+2023/06/07 | 557 | support/texlab/crates/parser/src/test_data/bibtex/samples/rivest_1978.txt
+2023/06/07 | 3194 | support/texlab/crates/parser/src/test_data/build_log/001.txt
+2023/06/07 | 2455 | support/texlab/crates/parser/src/test_data/build_log/002.txt
+2023/06/07 | 2515 | support/texlab/crates/parser/src/test_data/build_log/003.txt
+2023/06/07 | 3057 | support/texlab/crates/parser/src/test_data/build_log/004.txt
+2023/06/07 | 13353 | support/texlab/crates/parser/src/test_data/build_log/005.txt
+2023/06/07 | 4130 | support/texlab/crates/parser/src/test_data/build_log/006.txt
+2023/06/07 | 7762 | support/texlab/crates/parser/src/test_data/build_log/007.txt
+2023/06/07 | 48 | support/texlab/crates/parser/src/test_data/latex/block_comments.txt
+2023/06/07 | 26 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default_error.txt
+2023/06/07 | 27 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/caption/caption_figure.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal_error.txt
+2023/06/07 | 22 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal.txt
+2023/06/07 | 7 | support/texlab/crates/parser/src/test_data/latex/citation/citation_empty.txt
+2023/06/07 | 9 | support/texlab/crates/parser/src/test_data/latex/citation/citation_missing_brace.txt
+2023/06/07 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_multiple_keys.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote_postnote.txt
+2023/06/07 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote.txt
+2023/06/07 | 12 | support/texlab/crates/parser/src/test_data/latex/citation/citation_redundant_comma.txt
+2023/06/07 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_simple.txt
+2023/06/07 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_star.txt
+2023/06/07 | 33 | support/texlab/crates/parser/src/test_data/latex/color/color_definition_simple.txt
+2023/06/07 | 13 | support/texlab/crates/parser/src/test_data/latex/color/color_reference_simple.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error1.txt
+2023/06/07 | 30 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error2.txt
+2023/06/07 | 25 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error3.txt
+2023/06/07 | 15 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error4.txt
+2023/06/07 | 44 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_simple.txt
+2023/06/07 | 22 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_argc.txt
+2023/06/07 | 16 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl_error.txt
+2023/06/07 | 17 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl.txt
+2023/06/07 | 29 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_optional.txt
+2023/06/07 | 23 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_simple.txt
+2023/06/07 | 80 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_with_begin.txt
+2023/06/07 | 26 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_no_impl.txt
+2023/06/07 | 31 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_simple.txt
+2023/06/07 | 50 | support/texlab/crates/parser/src/test_data/latex/environment/environment_asymptote.txt
+2023/06/07 | 44 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition_optional_arg.txt
+2023/06/07 | 47 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition.txt
+2023/06/07 | 52 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested_missing_braces.txt
+2023/06/07 | 43 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested.txt
+2023/06/07 | 33 | support/texlab/crates/parser/src/test_data/latex/environment/environment_simple.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/equation_missing_begin.txt
+2023/06/07 | 13 | support/texlab/crates/parser/src/test_data/latex/equation.txt
+2023/06/07 | 14 | support/texlab/crates/parser/src/test_data/latex/generic_command_args.txt
+2023/06/07 | 4 | support/texlab/crates/parser/src/test_data/latex/generic_command_empty.txt
+2023/06/07 | 2 | support/texlab/crates/parser/src/test_data/latex/generic_command_escape.txt
+2023/06/07 | 64 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_declaration.txt
+2023/06/07 | 76 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_options.txt
+2023/06/07 | 44 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_simple.txt
+2023/06/07 | 35 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_package.txt
+2023/06/07 | 32 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_options.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_simple.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_definition_simple.txt
+2023/06/07 | 25 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_options.txt
+2023/06/07 | 9 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_simple.txt
+2023/06/07 | 32 | support/texlab/crates/parser/src/test_data/latex/graphics_path_command.txt
+2023/06/07 | 33 | support/texlab/crates/parser/src/test_data/latex/graphics_path_options.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/graphics_path.txt
+2023/06/07 | 12 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_missing_end.txt
+2023/06/07 | 13 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_simple.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/group/equation_missing_end.txt
+2023/06/07 | 6 | support/texlab/crates/parser/src/test_data/latex/group/escaped_brackets.txt
+2023/06/07 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_braces.txt
+2023/06/07 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets.txt
+2023/06/07 | 4 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets_with_group.txt
+2023/06/07 | 12 | support/texlab/crates/parser/src/test_data/latex/hello_world.txt
+2023/06/07 | 42 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_options.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_simple.txt
+2023/06/07 | 22 | support/texlab/crates/parser/src/test_data/latex/include/bibtex_include_simple.txt
+2023/06/07 | 16 | support/texlab/crates/parser/src/test_data/latex/include/class_include_empty.txt
+2023/06/07 | 44 | support/texlab/crates/parser/src/test_data/latex/include/class_include_options.txt
+2023/06/07 | 23 | support/texlab/crates/parser/src/test_data/latex/include/class_include_simple.txt
+2023/06/07 | 52 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_command.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_complicated_options.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_options.txt
+2023/06/07 | 29 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_simple.txt
+2023/06/07 | 11 | support/texlab/crates/parser/src/test_data/latex/include/import_incomplete.txt
+2023/06/07 | 17 | support/texlab/crates/parser/src/test_data/latex/include/import_simple.txt
+2023/06/07 | 30 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_options.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_simple.txt
+2023/06/07 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_equality_sign.txt
+2023/06/07 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_simple.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/include/latex_input_path_brackets.txt
+2023/06/07 | 13 | support/texlab/crates/parser/src/test_data/latex/include/package_include_empty.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/include/package_include_multiple.txt
+2023/06/07 | 41 | support/texlab/crates/parser/src/test_data/latex/include/package_include_options.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/include/package_include_simple.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/include/pgf_library_import_simple.txt
+2023/06/07 | 34 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_options.txt
+2023/06/07 | 24 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_simple.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/include/tikz_library_import_simple.txt
+2023/06/07 | 27 | support/texlab/crates/parser/src/test_data/latex/include/verbatim_include_simple.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/inline_double_dollar.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/inline.txt
+2023/06/07 | 271 | support/texlab/crates/parser/src/test_data/latex/issue_745.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/issue_789.txt
+2023/06/07 | 51 | support/texlab/crates/parser/src/test_data/latex/issue_828.txt
+2023/06/07 | 135 | support/texlab/crates/parser/src/test_data/latex/issue_853.txt
+2023/06/07 | 55 | support/texlab/crates/parser/src/test_data/latex/issue_857.txt
+2023/06/07 | 37 | support/texlab/crates/parser/src/test_data/latex/issue_874.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_line_break.txt
+2023/06/07 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_simple.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/label/label_number.txt
+2023/06/07 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_equation.txt
+2023/06/07 | 47 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_incomplete.txt
+2023/06/07 | 14 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_multiple.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_error.txt
+2023/06/07 | 15 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_incomplete.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_simple.txt
+2023/06/07 | 9 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_simple.txt
+2023/06/07 | 1 | support/texlab/crates/parser/src/test_data/latex/parameter_error.txt
+2023/06/07 | 2 | support/texlab/crates/parser/src/test_data/latex/parameter.txt
+2023/06/07 | 134 | support/texlab/crates/parser/src/test_data/latex/structure/paragraphs.txt
+2023/06/07 | 60 | support/texlab/crates/parser/src/test_data/latex/structure/structure_enum_item.txt
+2023/06/07 | 27 | support/texlab/crates/parser/src/test_data/latex/structure/structure_invalid_nesting.txt
+2023/06/07 | 90 | support/texlab/crates/parser/src/test_data/latex/structure/structure_nested.txt
+2023/06/07 | 35 | support/texlab/crates/parser/src/test_data/latex/structure/structure_siblings.txt
+2023/06/07 | 31 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_full.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_counter.txt
+2023/06/07 | 26 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description.txt
+2023/06/07 | 16 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_only_name.txt
+2023/06/07 | 41 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_thmtools.txt
+2023/06/07 | 453 | support/texlab/crates/symbols/Cargo.toml
+2023/06/07 | 1980 | support/texlab/crates/symbols/src/document/bib.rs
+2023/06/07 | 1509 | support/texlab/crates/symbols/src/document.rs
+2023/06/07 | 797 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap
+2023/06/07 | 1679 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap
+2023/06/07 | 841 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap
+2023/06/07 | 846 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap
+2023/06/07 | 386 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap
+2023/06/07 | 933 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap
+2023/06/07 | 1120 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_amsthm.snap
+2023/06/07 | 1121 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_thmtools.snap
+2023/06/07 | 5556 | support/texlab/crates/symbols/src/document/tests.rs
+2023/06/07 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
+2023/06/07 | 175 | support/texlab/crates/symbols/src/lib.rs
+2023/06/07 | 2610 | support/texlab/crates/symbols/src/types.rs
+2023/06/07 | 1321 | support/texlab/crates/symbols/src/workspace.rs
+2023/06/07 | 823 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap
+2023/06/07 | 566 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap
+2023/06/07 | 1443 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap
+2023/06/07 | 1009 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap
+2023/06/07 | 1871 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap
+2023/06/07 | 5645 | support/texlab/crates/symbols/src/workspace/sort.rs
+2023/06/07 | 2360 | support/texlab/crates/symbols/src/workspace/tests.rs
+2023/06/07 | 227 | support/texlab/crates/syntax/Cargo.toml
+2023/06/07 | 7955 | support/texlab/crates/syntax/src/bibtex.rs
+2023/06/07 | 17858 | support/texlab/crates/syntax/src/latex/cst.rs
+2023/06/07 | 1708 | support/texlab/crates/syntax/src/latex/kind.rs
+2023/06/07 | 689 | support/texlab/crates/syntax/src/latex.rs
+2023/06/07 | 864 | support/texlab/crates/syntax/src/lib.rs
+2023/06/07 | 322 | support/texlab/crates/test-utils/Cargo.toml
+2023/06/07 | 2899 | support/texlab/crates/test-utils/src/fixture.rs
+2023/06/07 | 17 | support/texlab/crates/test-utils/src/lib.rs
+2023/06/07 | 1274 | support/texlab/crates/texlab/benches/bench_main.rs
+2023/06/07 | 1781 | support/texlab/crates/texlab/Cargo.toml
+2023/06/07 | 6970534 | support/texlab/crates/texlab/data/components.json.gz
+2023/06/07 | 3223 | support/texlab/crates/texlab/src/client.rs
+2023/06/07 | 838 | support/texlab/crates/texlab/src/features/completion/acronym_ref.rs
+2023/06/07 | 1717 | support/texlab/crates/texlab/src/features/completion/argument.rs
+2023/06/07 | 283 | support/texlab/crates/texlab/src/features/completion/begin_snippet.rs
+2023/06/07 | 25284 | support/texlab/crates/texlab/src/features/completion/builder.rs
+2023/06/07 | 1654 | support/texlab/crates/texlab/src/features/completion/citation.rs
+2023/06/07 | 1238 | support/texlab/crates/texlab/src/features/completion/color_model.rs
+2023/06/07 | 1829 | support/texlab/crates/texlab/src/features/completion/color.rs
+2023/06/07 | 680 | support/texlab/crates/texlab/src/features/completion/component_command.rs
+2023/06/07 | 516 | support/texlab/crates/texlab/src/features/completion/component_environment.rs
+2023/06/07 | 681 | support/texlab/crates/texlab/src/features/completion/entry_type.rs
+2023/06/07 | 824 | support/texlab/crates/texlab/src/features/completion/field.rs
+2023/06/07 | 1191 | support/texlab/crates/texlab/src/features/completion/glossary_ref.rs
+2023/06/07 | 1556 | support/texlab/crates/texlab/src/features/completion/import.rs
+2023/06/07 | 4028 | support/texlab/crates/texlab/src/features/completion/include.rs
+2023/06/07 | 2832 | support/texlab/crates/texlab/src/features/completion/label.rs
+2023/06/07 | 1028 | support/texlab/crates/texlab/src/features/completion/matcher.rs
+2023/06/07 | 1917 | support/texlab/crates/texlab/src/features/completion.rs
+2023/06/07 | 554 | support/texlab/crates/texlab/src/features/completion/theorem.rs
+2023/06/07 | 3061 | support/texlab/crates/texlab/src/features/completion/tikz_library.rs
+2023/06/07 | 642 | support/texlab/crates/texlab/src/features/completion/user_command.rs
+2023/06/07 | 637 | support/texlab/crates/texlab/src/features/completion/user_environment.rs
+2023/06/07 | 1300 | support/texlab/crates/texlab/src/features/definition/command.rs
+2023/06/07 | 984 | support/texlab/crates/texlab/src/features/definition/document.rs
+2023/06/07 | 1191 | support/texlab/crates/texlab/src/features/definition/entry.rs
+2023/06/07 | 1166 | support/texlab/crates/texlab/src/features/definition/label.rs
+2023/06/07 | 1856 | support/texlab/crates/texlab/src/features/definition.rs
+2023/06/07 | 1037 | support/texlab/crates/texlab/src/features/definition/string.rs
+2023/06/07 | 2143 | support/texlab/crates/texlab/src/features/folding.rs
+2023/06/07 | 7202 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
+2023/06/07 | 2068 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
+2023/06/07 | 1083 | support/texlab/crates/texlab/src/features/formatting.rs
+2023/06/07 | 1049 | support/texlab/crates/texlab/src/features/highlight/label.rs
+2023/06/07 | 358 | support/texlab/crates/texlab/src/features/highlight.rs
+2023/06/07 | 749 | support/texlab/crates/texlab/src/features/hover/citation.rs
+2023/06/07 | 819 | support/texlab/crates/texlab/src/features/hover/component.rs
+2023/06/07 | 590 | support/texlab/crates/texlab/src/features/hover/entry_type.rs
+2023/06/07 | 609 | support/texlab/crates/texlab/src/features/hover/field.rs
+2023/06/07 | 858 | support/texlab/crates/texlab/src/features/hover/label.rs
+2023/06/07 | 1171 | support/texlab/crates/texlab/src/features/hover.rs
+2023/06/07 | 1189 | support/texlab/crates/texlab/src/features/hover/string_ref.rs
+2023/06/07 | 1330 | support/texlab/crates/texlab/src/features/inlay_hint/label.rs
+2023/06/07 | 1298 | support/texlab/crates/texlab/src/features/inlay_hint.rs
+2023/06/07 | 555 | support/texlab/crates/texlab/src/features/link/include.rs
+2023/06/07 | 932 | support/texlab/crates/texlab/src/features/link.rs
+2023/06/07 | 1898 | support/texlab/crates/texlab/src/features/reference/entry.rs
+2023/06/07 | 1007 | support/texlab/crates/texlab/src/features/reference/label.rs
+2023/06/07 | 1070 | support/texlab/crates/texlab/src/features/reference.rs
+2023/06/07 | 1402 | support/texlab/crates/texlab/src/features/reference/string.rs
+2023/06/07 | 1305 | support/texlab/crates/texlab/src/features/rename/command.rs
+2023/06/07 | 2292 | support/texlab/crates/texlab/src/features/rename/entry.rs
+2023/06/07 | 1066 | support/texlab/crates/texlab/src/features/rename/label.rs
+2023/06/07 | 1740 | support/texlab/crates/texlab/src/features/rename.rs
+2023/06/07 | 197 | support/texlab/crates/texlab/src/features.rs
+2023/06/07 | 4126 | support/texlab/crates/texlab/src/features/symbols.rs
+2023/06/07 | 108 | support/texlab/crates/texlab/src/lib.rs
+2023/06/07 | 1732 | support/texlab/crates/texlab/src/main.rs
+2023/06/07 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
+2023/06/07 | 2576 | support/texlab/crates/texlab/src/server/extensions.rs
+2023/06/07 | 7562 | support/texlab/crates/texlab/src/server/options.rs
+2023/06/07 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
+2023/06/07 | 41219 | support/texlab/crates/texlab/src/server.rs
+2023/06/07 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
+2023/06/07 | 3729 | support/texlab/crates/texlab/src/util/chktex.rs
+2023/06/07 | 3500 | support/texlab/crates/texlab/src/util/components.rs
+2023/06/07 | 9571 | support/texlab/crates/texlab/src/util/cursor.rs
+2023/06/07 | 4163 | support/texlab/crates/texlab/src/util/diagnostics.rs
+2023/06/07 | 1611 | support/texlab/crates/texlab/src/util/line_index_ext.rs
+2023/06/07 | 4004 | support/texlab/crates/texlab/src/util/lsp_enums.rs
+2023/06/07 | 1667 | support/texlab/crates/texlab/src/util.rs
+2023/06/07 | 8469 | support/texlab/crates/texlab/tests/lsp/fixture.rs
+2023/06/07 | 47 | support/texlab/crates/texlab/tests/lsp/main.rs
+2023/06/07 | 14296 | support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
+2023/06/07 | 3387 | support/texlab/crates/texlab/tests/lsp/text_document/definition.rs
+2023/06/07 | 1322 | support/texlab/crates/texlab/tests/lsp/text_document/document_highlight.rs
+2023/06/07 | 1157 | support/texlab/crates/texlab/tests/lsp/text_document/document_link.rs
+2023/06/07 | 1505 | support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
+2023/06/07 | 1208 | support/texlab/crates/texlab/tests/lsp/text_document/folding_range.rs
+2023/06/07 | 3009 | support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
+2023/06/07 | 3943 | support/texlab/crates/texlab/tests/lsp/text_document/hover.rs
+2023/06/07 | 1737 | support/texlab/crates/texlab/tests/lsp/text_document/inlay_hint.rs
+2023/06/07 | 4169 | support/texlab/crates/texlab/tests/lsp/text_document/references.rs
+2023/06/07 | 1743 | support/texlab/crates/texlab/tests/lsp/text_document/rename.rs
+2023/06/07 | 186 | support/texlab/crates/texlab/tests/lsp/text_document.rs
+2023/06/07 | 226 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_package_ref.snap
+2023/06/07 | 265 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_empty.snap
+2023/06/07 | 278 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_open_brace.snap
+2023/06/07 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_simple.snap
+2023/06/07 | 399 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_empty.snap
+2023/06/07 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_open_brace.snap
+2023/06/07 | 211 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_word.snap
+2023/06/07 | 550 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__begin_environment_without_snippet_support.snap
+2023/06/07 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_acronym.snap
+2023/06/07 | 291 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace_multiple.snap
+2023/06/07 | 269 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace.snap
+2023/06/07 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
+2023/06/07 | 407 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
+2023/06/07 | 403 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_open_brace.snap
+2023/06/07 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_simple.snap
+2023/06/07 | 408 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
+2023/06/07 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_open_brace.snap
+2023/06/07 | 405 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_simple.snap
+2023/06/07 | 414 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_word.snap
+2023/06/07 | 594 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_bibtex.snap
+2023/06/07 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
+2023/06/07 | 494 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple.snap
+2023/06/07 | 257 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_class.snap
+2023/06/07 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_command_definition.snap
+2023/06/07 | 544 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple_end.snap
+2023/06/07 | 223 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple.snap
+2023/06/07 | 194 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_preamble.snap
+2023/06/07 | 186 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_string.snap
+2023/06/07 | 384 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_at_empty.snap
+2023/06/07 | 182 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
+2023/06/07 | 185 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_preamble.snap
+2023/06/07 | 179 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
+2023/06/07 | 205 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
+2023/06/07 | 421 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_closed.snap
+2023/06/07 | 420 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_open.snap
+2023/06/07 | 441 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_field_name.snap
+2023/06/07 | 486 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_closed.snap
+2023/06/07 | 485 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_open.snap
+2023/06/07 | 263 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
+2023/06/07 | 264 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_simple.snap
+2023/06/07 | 459 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_closed_brace.snap
+2023/06/07 | 464 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
+2023/06/07 | 449 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_closed_brace.snap
+2023/06/07 | 448 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_open_brace.snap
+2023/06/07 | 512 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_857_1.snap
+2023/06/07 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_864.snap
+2023/06/07 | 247 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
+2023/06/07 | 1076 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_885.snap
+2023/06/07 | 1814 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__label.snap
+2023/06/07 | 699 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_import.snap
+2023/06/07 | 711 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_texlabroot.snap
+2023/06/07 | 250 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_begin.snap
+2023/06/07 | 255 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_end.snap
+2023/06/07 | 452 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_closed_brace.snap
+2023/06/07 | 451 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_open_brace.snap
+2023/06/07 | 273 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_command.snap
+2023/06/07 | 351 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_environment.snap
+2023/06/07 | 368 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_import.snap
+2023/06/07 | 355 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_include.snap
+2023/06/07 | 2586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap
+2023/06/07 | 650 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__bibtex.snap
+2023/06/07 | 841 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__latex.snap
+2023/06/07 | 167 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_command.snap
+2023/06/07 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_insert_braces.snap
+2023/06/07 | 181 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
+2023/06/07 | 946 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_multiple_entries.snap
+2023/06/07 | 132 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_parens.snap
+2023/06/07 | 160 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
+2023/06/07 | 143 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_string.snap
+2023/06/07 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_trailing_comma.snap
+2023/06/07 | 520 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
+2023/06/07 | 308 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_cite.snap
+2023/06/07 | 314 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_entry.snap
+2023/06/07 | 875 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__component_known_package.snap
+2023/06/07 | 659 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__entry_type_known_type.snap
+2023/06/07 | 234 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__field_known.snap
+2023/06/07 | 406 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file_mumber.snap
+2023/06/07 | 332 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file.snap
+2023/06/07 | 212 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__section.snap
+2023/06/07 | 272 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__string_inside_reference.snap
+2023/06/07 | 1608 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
+2023/06/07 | 12 | support/texlab/crates/texlab/tests/lsp/workspace.rs
+2023/06/07 | 1922 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap
+2023/06/07 | 1051 | support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
+2023/06/07 | 380190 | support/texlab/images/demo.gif
+2023/06/07 | 35149 | support/texlab/LICENSE
+2023/06/07 | 3767 | support/texlab/README.md
+2023/06/07 | 614 | support/texlab/texlab.1
+2023/06/07 | 26404 | support/texlab/texlab.pdf
+2023/06/07 | 2586 | support/texlab/texlab.tex
+2023/06/07 | 7730383 | support/texlab.zip
2011/11/27 | 456 | support/texlipse/plugin/1.5.0/README.TXT
2011/11/27 | 1726937 | support/texlipse/plugin/1.5.0/texlipse_1.5.0 src.zip
1999/01/30 | 6077 | support/texlist/README
@@ -291066,8 +291091,8 @@
2019/02/28 | 676044 | systems/texlive/tlnet/archive/celtic.doc.r39797.tar.xz
2019/02/28 | 3780 | systems/texlive/tlnet/archive/celtic.r39797.tar.xz
2019/02/28 | 8344 | systems/texlive/tlnet/archive/celtic.source.r39797.tar.xz
-2022/04/25 | 234832 | systems/texlive/tlnet/archive/censor.doc.r63126.tar.xz
-2022/04/25 | 3004 | systems/texlive/tlnet/archive/censor.r63126.tar.xz
+2023/06/07 | 235780 | systems/texlive/tlnet/archive/censor.doc.r67293.tar.xz
+2023/06/07 | 3100 | systems/texlive/tlnet/archive/censor.r67293.tar.xz
2022/10/11 | 1716 | systems/texlive/tlnet/archive/centeredline.doc.r64672.tar.xz
2022/10/11 | 1024 | systems/texlive/tlnet/archive/centeredline.r64672.tar.xz
2020/10/13 | 227760 | systems/texlive/tlnet/archive/centerlastline.doc.r56644.tar.xz
@@ -291561,7 +291586,7 @@
2023/06/02 | 1676 | systems/texlive/tlnet/archive/collection-mathscience.r67258.tar.xz
2023/05/12 | 564 | systems/texlive/tlnet/archive/collection-metapost.r67071.tar.xz
2023/02/18 | 496 | systems/texlive/tlnet/archive/collection-music.r65862.tar.xz
-2023/06/02 | 1596 | systems/texlive/tlnet/archive/collection-pictures.r67254.tar.xz
+2023/06/07 | 1596 | systems/texlive/tlnet/archive/collection-pictures.r67297.tar.xz
2023/01/26 | 976 | systems/texlive/tlnet/archive/collection-plaingeneric.r65622.tar.xz
2022/12/27 | 816 | systems/texlive/tlnet/archive/collection-pstricks.r65367.tar.xz
2023/06/05 | 1700 | systems/texlive/tlnet/archive/collection-publishers.r67281.tar.xz
@@ -295520,9 +295545,9 @@
2023/05/12 | 3498172 | systems/texlive/tlnet/archive/l3experimental.doc.r67074.tar.xz
2023/05/12 | 23660 | systems/texlive/tlnet/archive/l3experimental.r67074.tar.xz
2023/05/12 | 80176 | systems/texlive/tlnet/archive/l3experimental.source.r67074.tar.xz
-2023/05/26 | 11889472 | systems/texlive/tlnet/archive/l3kernel.doc.r67219.tar.xz
-2023/05/26 | 172608 | systems/texlive/tlnet/archive/l3kernel.r67219.tar.xz
-2023/05/26 | 595984 | systems/texlive/tlnet/archive/l3kernel.source.r67219.tar.xz
+2023/06/07 | 11993904 | systems/texlive/tlnet/archive/l3kernel.doc.r67294.tar.xz
+2023/06/07 | 172708 | systems/texlive/tlnet/archive/l3kernel.r67294.tar.xz
+2023/06/07 | 596384 | systems/texlive/tlnet/archive/l3kernel.source.r67294.tar.xz
2023/02/04 | 1831688 | systems/texlive/tlnet/archive/l3packages.doc.r65722.tar.xz
2023/02/04 | 21928 | systems/texlive/tlnet/archive/l3packages.r65722.tar.xz
2023/02/04 | 45696 | systems/texlive/tlnet/archive/l3packages.source.r65722.tar.xz
@@ -295772,14 +295797,14 @@
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.amd64-freebsd.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.amd64-netbsd.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.armhf-linux.r32150.tar.xz
-2023/05/21 | 1321804 | systems/texlive/tlnet/archive/latexindent.doc.r67174.tar.xz
+2023/06/07 | 1325036 | systems/texlive/tlnet/archive/latexindent.doc.r67296.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.i386-freebsd.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.i386-linux.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.i386-netbsd.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.i386-solaris.r32150.tar.xz
-2023/05/21 | 73992 | systems/texlive/tlnet/archive/latexindent.r67174.tar.xz
+2023/06/07 | 74032 | systems/texlive/tlnet/archive/latexindent.r67296.tar.xz
2021/02/25 | 344 | systems/texlive/tlnet/archive/latexindent.universal-darwin.r57908.tar.xz
-2023/05/21 | 3548004 | systems/texlive/tlnet/archive/latexindent.windows.r67174.tar.xz
+2023/06/07 | 3547800 | systems/texlive/tlnet/archive/latexindent.windows.r67296.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.x86_64-cygwin.r33557.tar.xz
2019/02/28 | 352 | systems/texlive/tlnet/archive/latexindent.x86_64-darwinlegacy.r43871.tar.xz
2019/02/28 | 348 | systems/texlive/tlnet/archive/latexindent.x86_64-linuxmusl.r46840.tar.xz
@@ -298382,9 +298407,6 @@
2019/02/28 | 348 | systems/texlive/tlnet/archive/pedigree-perl.x86_64-solaris.r25962.tar.xz
2022/10/26 | 56004 | systems/texlive/tlnet/archive/penlight.doc.r64811.tar.xz
2022/10/26 | 108260 | systems/texlive/tlnet/archive/penlight.r64811.tar.xz
-2021/01/24 | 966168 | systems/texlive/tlnet/archive/penrose.doc.r57508.tar.xz
-2021/01/24 | 7448 | systems/texlive/tlnet/archive/penrose.r57508.tar.xz
-2021/01/24 | 13256 | systems/texlive/tlnet/archive/penrose.source.r57508.tar.xz
2019/02/28 | 416 | systems/texlive/tlnet/archive/perception.doc.r48861.tar.xz
2019/02/28 | 6304 | systems/texlive/tlnet/archive/perception.r48861.tar.xz
2023/05/24 | 167564 | systems/texlive/tlnet/archive/perfectcut.doc.r67201.tar.xz
@@ -301008,7 +301030,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2023/06/06 | 427072 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67283.tar.xz
+2023/06/07 | 427064 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67291.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
@@ -301030,7 +301052,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2023/06/06 | 114060 | systems/texlive/tlnet/archive/texlive-scripts.r67283.tar.xz
+2023/06/07 | 114020 | systems/texlive/tlnet/archive/texlive-scripts.r67291.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -301158,9 +301180,9 @@
2023/02/27 | 892 | systems/texlive/tlnet/archive/tex.r66186.tar.xz
2021/01/08 | 423944 | systems/texlive/tlnet/archive/tex-refs.doc.r57349.tar.xz
2021/01/08 | 488 | systems/texlive/tlnet/archive/tex-refs.r57349.tar.xz
-2023/05/30 | 1302448 | systems/texlive/tlnet/archive/texshade.doc.r67243.tar.xz
-2023/05/30 | 61848 | systems/texlive/tlnet/archive/texshade.r67243.tar.xz
-2023/05/30 | 315924 | systems/texlive/tlnet/archive/texshade.source.r67243.tar.xz
+2023/06/07 | 1247400 | systems/texlive/tlnet/archive/texshade.doc.r67295.tar.xz
+2023/06/07 | 62008 | systems/texlive/tlnet/archive/texshade.r67295.tar.xz
+2023/06/07 | 315428 | systems/texlive/tlnet/archive/texshade.source.r67295.tar.xz
2019/02/28 | 324 | systems/texlive/tlnet/archive/texsis.aarch64-linux.r46208.tar.xz
2019/02/28 | 324 | systems/texlive/tlnet/archive/texsis.amd64-freebsd.r16472.tar.xz
2019/02/28 | 324 | systems/texlive/tlnet/archive/texsis.amd64-netbsd.r30191.tar.xz
@@ -301489,6 +301511,9 @@
2020/05/29 | 6503612 | systems/texlive/tlnet/archive/tile-graphic.doc.r55325.tar.xz
2020/05/29 | 3700 | systems/texlive/tlnet/archive/tile-graphic.r55325.tar.xz
2020/05/29 | 13648 | systems/texlive/tlnet/archive/tile-graphic.source.r55325.tar.xz
+2023/06/07 | 1004588 | systems/texlive/tlnet/archive/tilings.doc.r67292.tar.xz
+2023/06/07 | 10648 | systems/texlive/tlnet/archive/tilings.r67292.tar.xz
+2023/06/07 | 17676 | systems/texlive/tlnet/archive/tilings.source.r67292.tar.xz
2019/02/28 | 701320 | systems/texlive/tlnet/archive/timbreicmc.doc.r49740.tar.xz
2019/02/28 | 15436 | systems/texlive/tlnet/archive/timbreicmc.r49740.tar.xz
2019/02/28 | 20352 | systems/texlive/tlnet/archive/timbreicmc.source.r49740.tar.xz
@@ -302894,16 +302919,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2023/03/12 | 125532 | systems/texlive/tlnet/install-tl
-2023/06/06 | 5735436 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/06/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/06/06 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/06/07 | 5734403 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/06/07 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/06/07 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/06/06 | 21036620 | systems/texlive/tlnet/install-tl-windows.exe
-2023/06/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/06/06 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/06/06 | 26025289 | systems/texlive/tlnet/install-tl.zip
-2023/06/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/06/06 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/06/07 | 21034314 | systems/texlive/tlnet/install-tl-windows.exe
+2023/06/07 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/06/07 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/06/07 | 26025250 | systems/texlive/tlnet/install-tl.zip
+2023/06/07 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/06/07 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -302913,7 +302938,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/01/17 | 49938 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/06/05 | 7380 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/06/06 | 7300 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/05/31 | 215902 | 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
@@ -302955,12 +302980,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/06/06 | 18120072 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/06/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/06/07 | 18120326 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/06/07 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/06/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/06/06 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/06/06 | 2452964 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/06/07 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/06/07 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/06/07 | 2453392 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/02/26 | 42350 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -313473,7 +313498,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/06/07 | 186 | timestamp
+2023/06/08 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 35d7ed5695..7290bcc6ad 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 2da0582bc6..8ca912e4ae 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,39 +1,2671 @@
+2023/06/07 | 9 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_simple.txt
+2023/06/07 | 9 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_simple.txt
+2023/06/07 | 9 | support/texlab/crates/parser/src/test_data/latex/citation/citation_missing_brace.txt
+2023/06/07 | 99 | graphics/asymptote/base/asy_filetype.vim
+2023/06/07 | 99993 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.png
+2023/06/07 | 998 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_thmtools.txt.snap
+2023/06/07 | 993 | support/texlab/crates/parser/src/test_data/bibtex/samples/knuth_1984.txt
+2023/06/07 | 9919 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
+2023/06/07 | 990 | graphics/asymptote/examples/RiemannSphere.asy
+2023/06/07 | 989121 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glew.h
+2023/06/07 | 9890 | support/texlab/crates/base-db/src/semantics/tex.rs
+2023/06/07 | 988 | graphics/asymptote/GUI/res/icons/eye.svg
+2023/06/07 | 987 | support/texlab/crates/commands/src/change_env.rs
+2023/06/07 | 987 | graphics/asymptote/examples/triads.asy
+2023/06/07 | 986 | graphics/asymptote/predicates.h
+2023/06/07 | 986 | graphics/asymptote/GUI/res/icons/brush.svg
+2023/06/07 | 9867 | graphics/asymptote/runstring.in
+2023/06/07 | 985 | graphics/asymptote/GUI/res/icons/chevron-with-circle-right.svg
+2023/06/07 | 9856 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-filepath.h
+2023/06/07 | 98539 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/readertest.cpp
+2023/06/07 | 984 | support/texlab/crates/texlab/src/features/definition/document.rs
+2023/06/07 | 983 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfig.cmake.in
+2023/06/07 | 982 | graphics/asymptote/LspCpp/third_party/rapidjson/example/CMakeLists.txt
+2023/06/07 | 9822 | graphics/asymptote/doc/FAQ/m-html.pl
+2023/06/07 | 980 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_simple.txt.snap
+2023/06/07 | 98084 | graphics/asymptote/GUI/Window1.py
+2023/06/07 | 9805 | graphics/asymptote/doc/asymptote.sty
+2023/06/07 | 978 | graphics/asymptote/examples/worksheet.asy
+2023/06/07 | 978 | graphics/asymptote/examples/filesurface.asy
+2023/06/07 | 9784 | graphics/asymptote/triple.h
+2023/06/07 | 977408 | macros/latex/contrib/postit.zip
+2023/06/07 | 976 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_rivest_1978.snap
+2023/06/07 | 9765 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.zh-cn.md
+2023/06/07 | 9765 | graphics/asymptote/fundec.cc
+2023/06/07 | 975 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@004.txt.snap
+2023/06/07 | 9755 | graphics/asymptote/v3dfile.cc
+2023/06/07 | 974 | graphics/asymptote/prc/Makefile
+2023/06/07 | 973 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/executeCommand.h
+2023/06/07 | 973 | graphics/asymptote/examples/fequlogo.asy
+2023/06/07 | 971 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.cpp
+2023/06/07 | 9708 | graphics/asymptote/profiler.h
+2023/06/07 | 969 | graphics/asymptote/runfile.h
+2023/06/07 | 9689 | graphics/asymptote/doc/asy.1
+2023/06/07 | 968193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/glew.c
+2023/06/07 | 966 | graphics/asymptote/tests/array/solve.asy
+2023/06/07 | 965 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
+2023/06/07 | 964 | graphics/asymptote/LspCpp/src/jsonrpc/Context.cpp
+2023/06/07 | 9641 | graphics/asymptote/LspCpp/src/jsonrpc/TcpServer.cpp
+2023/06/07 | 95 | graphics/asymptote/prc/test.asy
+2023/06/07 | 95 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/depend.make
+2023/06/07 | 9571 | support/texlab/crates/texlab/src/util/cursor.rs
+2023/06/07 | 9562 | graphics/asymptote/base/bezulate.asy
+2023/06/07 | 954 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__patent_almendro_1998.snap
+2023/06/07 | 954 | graphics/asymptote/examples/poster.asy
+2023/06/07 | 953 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@005.txt.snap
+2023/06/07 | 952118 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear.h
+2023/06/07 | 951 | graphics/asymptote/GUI/res/icons/magnifying-glass.svg
+2023/06/07 | 9502 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest.py
+2023/06/07 | 94 | graphics/asymptote/LspCpp/third_party/rapidjson/include_dirs.js
+2023/06/07 | 9479 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
+2023/06/07 | 946 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_multiple_entries.snap
+2023/06/07 | 946 | graphics/asymptote/examples/animations/cube.asy
+2023/06/07 | 94332 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
+2023/06/07 | 942 | graphics/asymptote/LspCpp/third_party/rapidjson/example/traverseaspointer.cpp
+2023/06/07 | 941 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsRange.h
+2023/06/07 | 9375 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/stdint.h
+2023/06/07 | 936 | graphics/asymptote/tests/array/array.asy
+2023/06/07 | 935 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.dot
+2023/06/07 | 934 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/declaration_definition.h
+2023/06/07 | 9349 | graphics/asymptote/LspCpp/third_party/rapidjson/example/lookaheadparser/lookaheadparser.cpp
+2023/06/07 | 933 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__section.snap
+2023/06/07 | 9334 | graphics/asymptote/base/plain_paths.asy
+2023/06/07 | 932 | support/texlab/crates/texlab/src/features/link.rs
+2023/06/07 | 9328 | graphics/asymptote/doc/FAQ/bfnnconv.pl
+2023/06/07 | 9327 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_test_utils.py
+2023/06/07 | 9319 | graphics/asymptote/glrender.h
+2023/06/07 | 9318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_stress_test.cc
+2023/06/07 | 930 | graphics/asymptote/examples/polararea.asy
+2023/06/07 | 929 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/platforms.md
+2023/06/07 | 9298 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/type.json
+2023/06/07 | 9267 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-internal-utils.cc
+2023/06/07 | 9252 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
+2023/06/07 | 9251 | graphics/asymptote/errors
+2023/06/07 | 924 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
+2023/06/07 | 923 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/required.json
+2023/06/07 | 92378 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.png
+2023/06/07 | 922 | graphics/asymptote/doc/imagecontour.asy
+2023/06/07 | 920 | graphics/asymptote/makeUnique.h
+2023/06/07 | 9206 | support/texlab/crates/base-db/src/workspace.rs
+2023/06/07 | 916 | graphics/asymptote/opcodes.h
+2023/06/07 | 912 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.dot
+2023/06/07 | 912 | graphics/asymptote/doc/errorbars.asy
+2023/06/07 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_options.txt.snap
+2023/06/07 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition_optional_arg.txt.snap
+2023/06/07 | 9104 | graphics/asymptote/symbol.cc
+2023/06/07 | 90 | support/texlab/crates/parser/src/test_data/latex/structure/structure_nested.txt
+2023/06/07 | 908 | graphics/asymptote/modifier.h
+2023/06/07 | 908 | graphics/asymptote/coenv.h
+2023/06/07 | 908 | graphics/asymptote/base/map.asy
+2023/06/07 | 9088 | graphics/asymptote/application.h
+2023/06/07 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
+2023/06/07 | 9059 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/bin/jsonschema_suite
+2023/06/07 | 904 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_857.txt.snap
+2023/06/07 | 9036 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/allocatorstest.cpp
+2023/06/07 | 9032 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strtod.h
+2023/06/07 | 9022 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_gtk.c
+2023/06/07 | 9021 | graphics/asymptote/psfile.h
+2023/06/07 | 901 | graphics/asymptote/virtualfieldaccess.cc
+2023/06/07 | 900 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_command.txt.snap
+2023/06/07 | 900 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/range_formatting.h
+2023/06/07 | 8 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail16.json
+2023/06/07 | 898 | support/texlab/crates/parser/src/test_data/bibtex/samples/kastenholz_2006.txt
+2023/06/07 | 897 | graphics/asymptote/doc/flowchartdemo.asy
+2023/06/07 | 896 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxLength.json
+2023/06/07 | 895 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxLength.json
+2023/06/07 | 8955 | support/texlab/crates/citeproc/src/field/text.rs
+2023/06/07 | 891 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkConstructorsStatus.h
+2023/06/07 | 890 | support/texlab/crates/citeproc/src/lib.rs
+2023/06/07 | 88 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/README.md
+2023/06/07 | 8894 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/README.md
+2023/06/07 | 8883 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.md
+2023/06/07 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minLength.json
+2023/06/07 | 886 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minLength.json
+2023/06/07 | 886 | graphics/asymptote/angle.h
+2023/06/07 | 8868 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__kastenholz_2006.txt.snap
+2023/06/07 | 8861 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample6_unittest.cc
+2023/06/07 | 883 | graphics/asymptote/cudareflect/helper.cuh
+2023/06/07 | 88387 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest.h
+2023/06/07 | 881 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsDocumentUri.h
+2023/06/07 | 8811 | graphics/asymptote/xstream.h
+2023/06/07 | 880 | graphics/asymptote/doc/xasy.1x
+2023/06/07 | 8804 | graphics/asymptote/runmath.in
+2023/06/07 | 879 | graphics/asymptote/examples/markregular.asy
+2023/06/07 | 8795 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.zh-cn.md
+2023/06/07 | 8792 | graphics/asymptote/prc/PRCTools/iPRCFile.cc
+2023/06/07 | 8789 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp-string_test.cc
+2023/06/07 | 877 | graphics/asymptote/GUI/Widg_addPolyOpt.py
+2023/06/07 | 877 | graphics/asymptote/doc/markers2.asy
+2023/06/07 | 8767 | graphics/asymptote/LspCpp/third_party/uri/test/uri_normalization_test.cpp
+2023/06/07 | 875 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__component_known_package.snap
+2023/06/07 | 873 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
+2023/06/07 | 872 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/menu.json
+2023/06/07 | 8729 | graphics/asymptote/base/plain_pens.asy
+2023/06/07 | 870 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateDelegateMethods.h
+2023/06/07 | 8702 | graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
+2023/06/07 | 86 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/readme.txt
+2023/06/07 | 86 | graphics/asymptote/doc/cylinderskeleton.asy
+2023/06/07 | 869 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkDelegateMethodsStatus.h
+2023/06/07 | 868 | graphics/asymptote/examples/twistedtubes.asy
+2023/06/07 | 867 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-msvc.py
+2023/06/07 | 866 | graphics/asymptote/examples/xxsq01x-1.asy
+2023/06/07 | 86552 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/advanced.md
+2023/06/07 | 864 | support/texlab/crates/syntax/src/lib.rs
+2023/06/07 | 863 | graphics/asymptote/GUI/res/icons/edit.svg
+2023/06/07 | 861 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_options.txt.snap
+2023/06/07 | 860 | support/texlab/crates/parser/src/test_data/bibtex/samples/blom_2021.txt
+2023/06/07 | 85 | graphics/asymptote/cudareflect/tinyexr/vcsetup2019.bat
+2023/06/07 | 858 | support/texlab/crates/texlab/src/features/hover/label.rs
+2023/06/07 | 858 | graphics/asymptote/GUI/res/icons/center.svg
+2023/06/07 | 85818 | graphics/asymptote/base/three.asy
+2023/06/07 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/pattern.json
+2023/06/07 | 857 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/pattern.json
+2023/06/07 | 856 | graphics/asymptote/examples/animations/sphere.asy
+2023/06/07 | 8561 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_.cc
+2023/06/07 | 854 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/definitions.json
+2023/06/07 | 8543232 | graphics/asymptote/binaries/i386-windows/texlive/asy.exe
+2023/06/07 | 85342 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port.h
+2023/06/07 | 8532 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/pointer.zh-cn.md
+2023/06/07 | 8528 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock.cc
+2023/06/07 | 8519 | graphics/asymptote/cudareflect/ReflectanceMapper.cu
+2023/06/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/oneOf_address.json
+2023/06/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/anyOf_address.json
+2023/06/07 | 84 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/allOf_address.json
+2023/06/07 | 849 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
+2023/06/07 | 849 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/booleans.json
+2023/06/07 | 848 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/formatting.h
+2023/06/07 | 848 | graphics/asymptote/base/shaders/sum2.glsl
+2023/06/07 | 846 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__float.snap
+2023/06/07 | 846 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/resolveUnimplementedAccessors.h
+2023/06/07 | 8469 | support/texlab/crates/texlab/tests/lsp/fixture.rs
+2023/06/07 | 8469 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
+2023/06/07 | 845 | graphics/asymptote/envcompleter.h
+2023/06/07 | 8456 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.cc
+2023/06/07 | 843 | graphics/asymptote/tests/arith/integer.asy
+2023/06/07 | 8439 | graphics/asymptote/runpath.in
+2023/06/07 | 842 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentEdit.h
+2023/06/07 | 8429 | graphics/asymptote/examples/thermodynamics.asy
+2023/06/07 | 8422912 | graphics/asymptote/binaries/x86_64-windows/texlive/asy.exe
+2023/06/07 | 841 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__latex.snap
+2023/06/07 | 841 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__equation.snap
+2023/06/07 | 840 | graphics/asymptote/GUI/res/icons/android-folder-open.svg
+2023/06/07 | 8407 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_utils.py
+2023/06/07 | 8403 | graphics/asymptote/base/simplex.asy
+2023/06/07 | 839 | graphics/asymptote/examples/venn3.asy
+2023/06/07 | 838 | support/texlab/crates/texlab/src/features/completion/acronym_ref.rs
+2023/06/07 | 8386 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test_.cc
+2023/06/07 | 8371 | graphics/asymptote/prc/PRCbitStream.cc
+2023/06/07 | 8361 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/msinttypes/inttypes.h
+2023/06/07 | 834 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/CMakeLists.txt
+2023/06/07 | 83449 | graphics/asymptote/lex.yy.cc
+2023/06/07 | 832 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-255456016cca60ddb5c5ed6898182e13739bf687b17d1411e97bb60ad95e7a84_min
+2023/06/07 | 831 | graphics/asymptote/runbacktrace.in
+2023/06/07 | 831 | graphics/asymptote/GUI/res/icons/android-radio-button-on.svg
+2023/06/07 | 831 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/fuzz.cc
+2023/06/07 | 830 | graphics/asymptote/shaders.h
+2023/06/07 | 8307 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-assertion-result.h
+2023/06/07 | 82 | support/texlab/crates/parser/src/test_data/bibtex/comment.txt
+2023/06/07 | 829 | graphics/asymptote/GUI/res/icons/close-round.svg
+2023/06/07 | 829 | graphics/asymptote/examples/shellsqrtx01.asy
+2023/06/07 | 828 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeModules/FindGTestSrc.cmake
+2023/06/07 | 8287659 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
+2023/06/07 | 825 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_incomplete.txt.snap
+2023/06/07 | 825 | graphics/asymptote/examples/xxsq01y.asy
+2023/06/07 | 824 | support/texlab/crates/texlab/src/features/completion/field.rs
+2023/06/07 | 8240 | graphics/asymptote/base/asy-kate.sh
+2023/06/07 | 823 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_bibtex.snap
+2023/06/07 | 822 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateHashCodeEquals.h
+2023/06/07 | 821 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__equation_missing_end.txt.snap
+2023/06/07 | 821 | graphics/asymptote/examples/SierpinskiGasket.asy
+2023/06/07 | 820 | support/texlab/crates/distro/src/texlive.rs
+2023/06/07 | 820 | graphics/asymptote/webgl/license
+2023/06/07 | 820 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/LICENSE
+2023/06/07 | 81 | graphics/asymptote/doc/bezier.asy
+2023/06/07 | 819 | support/texlab/crates/texlab/src/features/hover/component.rs
+2023/06/07 | 818 | graphics/asymptote/GLTextures.cc
+2023/06/07 | 815 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
+2023/06/07 | 814 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation_missing_begin.txt.snap
+2023/06/07 | 814 | graphics/asymptote/v3dtypes.py
+2023/06/07 | 814 | graphics/asymptote/camperror.h
+2023/06/07 | 8129 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/CMakeLists.txt
+2023/06/07 | 81287 | graphics/asymptote/doc/TeXShopAndAsymptote.pdf
+2023/06/07 | 8120 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-message.h
+2023/06/07 | 8112 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-test-part-test.cc
+2023/06/07 | 810 | graphics/asymptote/GUI/res/icons/android-expand.svg
+2023/06/07 | 810 | graphics/asymptote/examples/orthocenter.asy
+2023/06/07 | 80 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_with_begin.txt
+2023/06/07 | 8096 | graphics/asymptote/runhistory.cc
+2023/06/07 | 8092 | graphics/asymptote/LspCpp/examples/WebsocketExample.cpp
+2023/06/07 | 808 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
+2023/06/07 | 8037 | graphics/asymptote/name.cc
+2023/06/07 | 802 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/nulls.json
+2023/06/07 | 802 | graphics/asymptote/examples/vertexshading.asy
+2023/06/07 | 802 | graphics/asymptote/examples/controlsystem.asy
+2023/06/07 | 8014 | graphics/asymptote/base/stats.asy
+2023/06/07 | 800 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_close.h
+2023/06/07 | 8008 | graphics/asymptote/runpath3d.in
+2023/06/07 | 7 | support/texlab/crates/parser/src/test_data/latex/citation/citation_empty.txt
+2023/06/07 | 7 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail31.json
+2023/06/07 | 798 | graphics/asymptote/examples/animations/torusanimation.asy
+2023/06/07 | 797 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__allowed_patterns.snap
+2023/06/07 | 795 | graphics/asymptote/GUI/res/icons/android-refresh.svg
+2023/06/07 | 7957 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-options-test.cc
+2023/06/07 | 7955 | support/texlab/crates/syntax/src/bibtex.rs
+2023/06/07 | 794 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/execute_command.h
+2023/06/07 | 793 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-eedff3a9e99eb1c0fd3a3b0989e7c44c0a69f04f10b23e5264f362a4773f4397_min
+2023/06/07 | 792 | graphics/asymptote/doc/secondaryaxis.asy
+2023/06/07 | 790 | graphics/asymptote/LspCpp/include/LibLsp/lsp/AbsolutePath.h
+2023/06/07 | 790 | graphics/asymptote/GUI/res/icons/android-camera.svg
+2023/06/07 | 79041 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
+2023/06/07 | 79003 | graphics/asymptote/GUI/windows/window1.ui
+2023/06/07 | 78 | graphics/asymptote/examples/randompath3.asy
+2023/06/07 | 788 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_betram_1996.snap
+2023/06/07 | 784 | graphics/asymptote/LspCpp/third_party/uri/deps/CMakeLists.txt
+2023/06/07 | 781 | graphics/asymptote/LspCpp/third_party/uri/deps/WORKSPACE
+2023/06/07 | 77 | graphics/asymptote/tests/gc/string.asy
+2023/06/07 | 7790 | graphics/asymptote/coder.cc
+2023/06/07 | 778 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
+2023/06/07 | 7780 | graphics/asymptote/cudareflect/main.cc
+2023/06/07 | 7762 | support/texlab/crates/parser/src/test_data/build_log/007.txt
+2023/06/07 | 77498 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_pred_impl_unittest.cc
+2023/06/07 | 7731 | graphics/asymptote/LspCpp/third_party/uri/include/network/string_view.hpp
+2023/06/07 | 7730383 | support/texlab.zip
+2023/06/07 | 772 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_figure.txt.snap
+2023/06/07 | 771 | graphics/asymptote/GUI/res/icons/check.svg
+2023/06/07 | 770 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/publishDiagnostics.h
+2023/06/07 | 770 | graphics/asymptote/asy.rc
+2023/06/07 | 76 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_options.txt
+2023/06/07 | 76 | graphics/asymptote/examples/grid.asy
+2023/06/07 | 7684 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/sanitize-helpers.cmake
+2023/06/07 | 76801 | graphics/asymptote/gl-matrix-2.4.0-pruned/dist/gl-matrix.js
+2023/06/07 | 7671 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Context.h
+2023/06/07 | 766 | graphics/asymptote/vm.h
+2023/06/07 | 7655 | graphics/asymptote/base/plain.asy
+2023/06/07 | 76445 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-spec-builders.h
+2023/06/07 | 7639 | graphics/asymptote/LICENSE.LESSER
+2023/06/07 | 76304 | graphics/asymptote/runarray.cc
+2023/06/07 | 762 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
+2023/06/07 | 762 | graphics/asymptote/examples/clockarray.asy
+2023/06/07 | 761 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_809.txt.snap
+2023/06/07 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_package.txt.snap
+2023/06/07 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_optional.txt.snap
+2023/06/07 | 759 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxProperties.json
+2023/06/07 | 758 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_simple.txt.snap
+2023/06/07 | 7562 | support/texlab/crates/texlab/src/server/options.rs
+2023/06/07 | 754 | graphics/asymptote/doc/graphmarkers.asy
+2023/06/07 | 7531 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
+2023/06/07 | 752 | graphics/asymptote/GUI/res/icons/android-radio-button-off.svg
+2023/06/07 | 7528 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__jain_1999.txt.snap
+2023/06/07 | 751 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/message.h
+2023/06/07 | 750 | macros/latex/contrib/examz/README.txt
+2023/06/07 | 750 | graphics/asymptote/GUI/res/icons/plus-round.svg
+2023/06/07 | 74 | graphics/asymptote/LspCpp/include/LibLsp/lsp/method_type.h
+2023/06/07 | 749 | support/texlab/crates/texlab/src/features/hover/citation.rs
+2023/06/07 | 747 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentItem.h
+2023/06/07 | 747 | graphics/asymptote/examples/pseudosphere.asy
+2023/06/07 | 7474 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
+2023/06/07 | 74749 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-spec-builders_test.cc
+2023/06/07 | 746 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@block_comments.txt.snap
+2023/06/07 | 746 | graphics/asymptote/tests/array/sort.asy
+2023/06/07 | 745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_874.txt.snap
+2023/06/07 | 743 | graphics/asymptote/GUI/res/icons/circle.svg
+2023/06/07 | 743 | graphics/asymptote/examples/xxsq01.asy
+2023/06/07 | 742 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_simple.txt.snap
+2023/06/07 | 7428 | graphics/asymptote/config.h.in
+2023/06/07 | 741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialogmultiple.c
+2023/06/07 | 74120 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile
+2023/06/07 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32lebom.json
+2023/06/07 | 740 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32bebom.json
+2023/06/07 | 7407 | graphics/asymptote/base/graph_splinetype.asy
+2023/06/07 | 74032 | systems/texlive/tlnet/archive/latexindent.r67296.tar.xz
+2023/06/07 | 74016 | graphics/asymptote/LspCpp/third_party/uri/Doxyfile.in
+2023/06/07 | 739 | graphics/asymptote/examples/condor.asy
+2023/06/07 | 737 | graphics/asymptote/tests/array/determinant.asy
+2023/06/07 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32le.json
+2023/06/07 | 736 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf32be.json
+2023/06/07 | 73662 | graphics/asymptote/base/three_surface.asy
+2023/06/07 | 7364 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cheat_sheet.md
+2023/06/07 | 734 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_definition_simple.txt.snap
+2023/06/07 | 734 | graphics/asymptote/examples/quilt.asy
+2023/06/07 | 73435 | graphics/asymptote/GL/glxew.h
+2023/06/07 | 733 | graphics/asymptote/GUI/xasySvg.py
+2023/06/07 | 7322 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__almendro_1998.txt.snap
+2023/06/07 | 7322 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest.py
+2023/06/07 | 730 | graphics/asymptote/base/shaders/sum1.glsl
+2023/06/07 | 7304 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-string.h
+2023/06/07 | 7302 | graphics/asymptote/base/markers.asy
+2023/06/07 | 72 | graphics/asymptote/tests/gc/pen.asy
+2023/06/07 | 729 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
+2023/06/07 | 729 | graphics/asymptote/base/labelpath.asy
+2023/06/07 | 7287 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_stress_test.cc
+2023/06/07 | 727 | graphics/asymptote/examples/fermi.asy
+2023/06/07 | 7274 | graphics/asymptote/runtime.pl
+2023/06/07 | 725 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minProperties.json
+2023/06/07 | 722 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkToStringStatus.h
+2023/06/07 | 7222 | graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
+2023/06/07 | 7218 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/schematest.cpp
+2023/06/07 | 7202 | support/texlab/crates/texlab/src/features/formatting/bibtex_internal.rs
+2023/06/07 | 71994 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/glxew.h
+2023/06/07 | 7184 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
+2023/06/07 | 7180 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_repeat_test.cc
+2023/06/07 | 717 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_options.txt.snap
+2023/06/07 | 716 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@001.txt.snap
+2023/06/07 | 7157 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__combi_2004.txt.snap
+2023/06/07 | 7157 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/stack.h
+2023/06/07 | 714 | graphics/asymptote/mod.h
+2023/06/07 | 714 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+2023/06/07 | 714 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
+2023/06/07 | 714 | graphics/asymptote/examples/Viviani.asy
+2023/06/07 | 714 | graphics/asymptote/examples/unitoctantx.asy
+2023/06/07 | 713 | graphics/asymptote/examples/gamma3.asy
+2023/06/07 | 71368 | graphics/asymptote/base/asy-mode.el
+2023/06/07 | 7133 | graphics/asymptote/LspCpp/src/jsonrpc/StreamMessageProducer.cpp
+2023/06/07 | 7125 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.cpp
+2023/06/07 | 71201 | graphics/asymptote/prc/oPRCFile.cc
+2023/06/07 | 711 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_texlabroot.snap
+2023/06/07 | 711 | graphics/asymptote/examples/partialsurface.asy
+2023/06/07 | 7117 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
+2023/06/07 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
+2023/06/07 | 710 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+2023/06/07 | 710 | graphics/asymptote/examples/fjortoft.asy
+2023/06/07 | 70 | graphics/asymptote/tests/gc/transform.asy
+2023/06/07 | 709 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/Makefile
+2023/06/07 | 707 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__collection_matuz_1990.snap
+2023/06/07 | 706 | support/texlab/crates/parser/src/test_data/bibtex/samples/almendro_1998.txt
+2023/06/07 | 706 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_siblings.txt.snap
+2023/06/07 | 706 | graphics/pgf/contrib/tikz-nfold/README.md
+2023/06/07 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maxItems.json
+2023/06/07 | 706 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maxItems.json
+2023/06/07 | 705 | graphics/asymptote/GUI/res/icons/arrow-move.svg
+2023/06/07 | 7049 | graphics/asymptote/LspCpp/third_party/uri/Makefile
+2023/06/07 | 703 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_options.txt.snap
+2023/06/07 | 703 | graphics/asymptote/examples/NURBScurve.asy
+2023/06/07 | 702 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_options.txt.snap
+2023/06/07 | 70145 | graphics/asymptote/base/graph3.asy
+2023/06/07 | 700 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
+2023/06/07 | 700 | graphics/asymptote/GUI/locale/th/LC_MESSAGES/base.po
+2023/06/07 | 6 | support/texlab/crates/parser/src/test_data/latex/group/escaped_brackets.txt
+2023/06/07 | 699 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__project_resolution_import.snap
+2023/06/07 | 6970534 | support/texlab/crates/texlab/data/components.json.gz
+2023/06/07 | 6964 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageIssue.h
+2023/06/07 | 6944 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-test-part.h
+2023/06/07 | 69441 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.h
+2023/06/07 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minItems.json
+2023/06/07 | 693 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minItems.json
+2023/06/07 | 6934 | graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
+2023/06/07 | 6917 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+2023/06/07 | 6911 | graphics/asymptote/errortest.asy
+2023/06/07 | 690 | graphics/asymptote/examples/layers.asy
+2023/06/07 | 689 | support/texlab/crates/syntax/src/latex.rs
+2023/06/07 | 6896 | graphics/asymptote/GUI/windows/widg_addLabel.ui
+2023/06/07 | 688 | graphics/asymptote/examples/centroidfg.asy
+2023/06/07 | 687 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/Makefile
+2023/06/07 | 687491 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/sample.json
+2023/06/07 | 6872 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/actions.md
+2023/06/07 | 6860 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.zh-cn.md
+2023/06/07 | 685 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simpledom/simpledom.cpp
+2023/06/07 | 6849 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archivertest.cpp
+2023/06/07 | 683 | graphics/asymptote/GUI/res/icons/android-close.svg
+2023/06/07 | 683 | graphics/asymptote/examples/fractaltree.asy
+2023/06/07 | 6836 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
+2023/06/07 | 6834 | graphics/asymptote/main.cc
+2023/06/07 | 681 | support/texlab/crates/texlab/src/features/completion/entry_type.rs
+2023/06/07 | 6818 | graphics/asymptote/LspCpp/third_party/rapidjson/CHANGELOG.md
+2023/06/07 | 68126 | graphics/asymptote/prc/PRCTools/describePRC.cc
+2023/06/07 | 680 | support/texlab/crates/texlab/src/features/completion/component_command.rs
+2023/06/07 | 680 | graphics/asymptote/tests/array/delete.asy
+2023/06/07 | 679 | support/texlab/crates/parser/src/test_data/bibtex/samples/aksin_2006.txt
+2023/06/07 | 679 | graphics/asymptote/examples/genusthree.asy
+2023/06/07 | 678 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/README.md
+2023/06/07 | 678 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5b66774a7498c635334ad386be0c3b359951738ac47f14878a3346d1c6ea0fe5_min
+2023/06/07 | 6787 | graphics/asymptote/drawlabel.cc
+2023/06/07 | 677 | graphics/asymptote/doc/Bode.asy
+2023/06/07 | 677 | graphics/asymptote/base/shaders/vertex.glsl
+2023/06/07 | 6772 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/main.cc
+2023/06/07 | 676 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
+2023/06/07 | 6751 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/format.json
+2023/06/07 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/jain_1999.txt
+2023/06/07 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/combi_2004.txt
+2023/06/07 | 674 | graphics/asymptote/examples/sqrtx01.asy
+2023/06/07 | 673 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@003.txt.snap
+2023/06/07 | 6732 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stream.h
+2023/06/07 | 6726 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example3.c
+2023/06/07 | 6725 | graphics/asymptote/guide.h
+2023/06/07 | 6717 | graphics/asymptote/GUI/xasyOptions.py
+2023/06/07 | 67146 | graphics/asymptote/GUI/xasy2asy.py
+2023/06/07 | 67141 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.internal
+2023/06/07 | 6709 | graphics/asymptote/base/shaders/fragment.glsl
+2023/06/07 | 6708 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/encoding.md
+2023/06/07 | 66 | graphics/asymptote/examples/shade.asy
+2023/06/07 | 669 | graphics/asymptote/drawpath.h
+2023/06/07 | 667 | graphics/asymptote/tinyexr.cc
+2023/06/07 | 667 | graphics/asymptote/examples/spring.asy
+2023/06/07 | 66751 | graphics/asymptote/prc/writePRC.cc
+2023/06/07 | 6650 | graphics/asymptote/getopt.h
+2023/06/07 | 664 | graphics/asymptote/GUI/res/icons/android-delete.svg
+2023/06/07 | 66482 | graphics/asymptote/base/webgl/asygl.js
+2023/06/07 | 6644 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__blom_2021.txt.snap
+2023/06/07 | 663 | graphics/asymptote/GUI/res/icons/save.svg
+2023/06/07 | 663 | graphics/asymptote/base/v3dtypes.asy
+2023/06/07 | 6634 | graphics/asymptote/simpson.cc
+2023/06/07 | 6619 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
+2023/06/07 | 6616 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/meta.h
+2023/06/07 | 6611 | graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
+2023/06/07 | 66101 | graphics/asymptote/glrender.cc
+2023/06/07 | 65 | graphics/asymptote/tests/gc/guide.asy
+2023/06/07 | 659 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__entry_type_known_type.snap
+2023/06/07 | 6585 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample5_unittest.cc
+2023/06/07 | 657 | graphics/asymptote/examples/lowupint.asy
+2023/06/07 | 657 | graphics/asymptote/examples/100d.views
+2023/06/07 | 657 | graphics/asymptote/base/reload.js
+2023/06/07 | 6572 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/doxygenextra.css
+2023/06/07 | 656 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
+2023/06/07 | 6553 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/main.cc
+2023/06/07 | 6552 | graphics/asymptote/GUI/windows/labelTextEditor.ui
+2023/06/07 | 6551 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example2.c
+2023/06/07 | 654 | graphics/asymptote/fpu.h
+2023/06/07 | 654 | graphics/asymptote/examples/limit.asy
+2023/06/07 | 6543 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest.py
+2023/06/07 | 6525 | graphics/asymptote/drawfill.h
+2023/06/07 | 6514 | graphics/asymptote/lspserv.h
+2023/06/07 | 650 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__folding_range__bibtex.snap
+2023/06/07 | 650 | graphics/asymptote/prcfile.h
+2023/06/07 | 6503 | graphics/asymptote/tests/types/constructor.asy
+2023/06/07 | 64 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_declaration.txt
+2023/06/07 | 64 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-62-tinyexr_memcpy_heap-buffer-overflow
+2023/06/07 | 649 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline_double_dollar.txt.snap
+2023/06/07 | 648 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
+2023/06/07 | 648 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
+2023/06/07 | 6484 | support/texlab/crates/base-db/src/util/line_index.rs
+2023/06/07 | 647 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default.txt.snap
+2023/06/07 | 6472 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
+2023/06/07 | 646 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/addOverridableMethods.h
+2023/06/07 | 645 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
+2023/06/07 | 645 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateConstructors.h
+2023/06/07 | 642 | support/texlab/crates/texlab/src/features/completion/user_command.rs
+2023/06/07 | 6425 | graphics/asymptote/mathop.h
+2023/06/07 | 6425 | graphics/asymptote/generate_enums.py
+2023/06/07 | 64222 | graphics/asymptote/base/graph.asy
+2023/06/07 | 641 | info/spanish/antique-spanish-units/README
+2023/06/07 | 641 | graphics/asymptote/examples/pOrbital.asy
+2023/06/07 | 6418 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_environment_test.cc
+2023/06/07 | 6412 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test.cc
+2023/06/07 | 639 | graphics/asymptote/tests/arith/transform.asy
+2023/06/07 | 639 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+2023/06/07 | 63842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-printers-test.cc
+2023/06/07 | 637 | support/texlab/crates/texlab/src/features/completion/user_environment.rs
+2023/06/07 | 6376 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest_.cc
+2023/06/07 | 6370 | graphics/asymptote/asymptote.nsi
+2023/06/07 | 6369 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/traits.h
+2023/06/07 | 63574 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
+2023/06/07 | 63314 | graphics/asymptote/GL/wglew.h
+2023/06/07 | 632 | graphics/asymptote/examples/label3zoom.asy
+2023/06/07 | 631 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline.txt.snap
+2023/06/07 | 631 | graphics/asymptote/locate.h
+2023/06/07 | 631 | graphics/asymptote/GUI/res/icons/arrow-resize.svg
+2023/06/07 | 63193 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_gtk3.png
+2023/06/07 | 6318 | graphics/asymptote/doc/leastsquares.dat
+2023/06/07 | 63136 | graphics/asymptote/doc/FAQ/asy-faq.info
+2023/06/07 | 630 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-24322747c47e87a10e4407528b779a1a763a48135384909b3d1010bbba1d4c28_min
+2023/06/07 | 6304 | graphics/asymptote/base/three_tube.asy
+2023/06/07 | 62 | graphics/asymptote/tests/gc/array.asy
+2023/06/07 | 62 | graphics/asymptote/revision.cc
+2023/06/07 | 628 | graphics/asymptote/examples/wedge.asy
+2023/06/07 | 628 | graphics/asymptote/examples/polarcircle.asy
+2023/06/07 | 6288 | graphics/asymptote/transform.h
+2023/06/07 | 6287 | graphics/asymptote/base/plain_prethree.asy
+2023/06/07 | 6278 | graphics/asymptote/base/plain_filldraw.asy
+2023/06/07 | 62764 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
+2023/06/07 | 626 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default_error.txt.snap
+2023/06/07 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-forward.svg
+2023/06/07 | 626 | graphics/asymptote/GUI/res/icons/android-arrow-back.svg
+2023/06/07 | 626 | graphics/asymptote/examples/venn.asy
+2023/06/07 | 6253 | graphics/asymptote/LspCpp/third_party/rapidjson/example/tutorial/tutorial.cpp
+2023/06/07 | 6252 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-type-util.h
+2023/06/07 | 624 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_command.txt.snap
+2023/06/07 | 6247 | graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
+2023/06/07 | 62413 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-death-test.cc
+2023/06/07 | 62206 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/Glew/CustomGL/wglew.h
+2023/06/07 | 620 | graphics/asymptote/GUI/res/icons/android-done.svg
+2023/06/07 | 62008 | systems/texlive/tlnet/archive/texshade.r67295.tar.xz
+2023/06/07 | 61 | graphics/asymptote/examples/axialshade.asy
+2023/06/07 | 61 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/README.md
+2023/06/07 | 6194 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample8_unittest.cc
+2023/06/07 | 6192 | graphics/asymptote/camp.tab.h
+2023/06/07 | 617 | graphics/asymptote/doc/logo.asy
+2023/06/07 | 6175 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test.py
+2023/06/07 | 616 | graphics/asymptote/examples/Gouraudcontour.asy
+2023/06/07 | 61699 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-internal.h
+2023/06/07 | 61679 | graphics/asymptote/runtime.cc
+2023/06/07 | 61667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-actions.h
+2023/06/07 | 615 | support/texlab/crates/parser/src/test_data/bibtex/samples/erwin_2007.txt
+2023/06/07 | 615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_configuration.h
+2023/06/07 | 615 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.h
+2023/06/07 | 6159 | graphics/asymptote/base/plain_strings.asy
+2023/06/07 | 614 | support/texlab/texlab.1
+2023/06/07 | 612 | graphics/asymptote/cudareflect/tinyexr/experimental/js/README.md
+2023/06/07 | 612 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/exr2rgbe.cc
+2023/06/07 | 611 | graphics/asymptote/GUI/xasy.py
+2023/06/07 | 6117 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_cocoa.m
+2023/06/07 | 610 | graphics/asymptote/examples/impact.asy
+2023/06/07 | 6104 | graphics/asymptote/LspCpp/third_party/uri/deps/BUILD.bazel
+2023/06/07 | 6104 | graphics/asymptote/doc/FAQ/m-lout.pl
+2023/06/07 | 60 | support/texlab/crates/parser/src/test_data/latex/structure/structure_enum_item.txt
+2023/06/07 | 60 | support/texlab/crates/citeproc/src/field.rs
+2023/06/07 | 60 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail1.json
+2023/06/07 | 609 | support/texlab/crates/texlab/src/features/hover/field.rs
+2023/06/07 | 609 | graphics/asymptote/keywords.cc
+2023/06/07 | 6097 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-cardinalities.h
+2023/06/07 | 6090 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/DoxygenLayout.xml
+2023/06/07 | 608 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
+2023/06/07 | 608 | graphics/asymptote/examples/spline.asy
+2023/06/07 | 608 | graphics/asymptote/base/size10.asy
+2023/06/07 | 606 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/findLinks.h
+2023/06/07 | 604 | graphics/asymptote/doc/flow.asy
+2023/06/07 | 6037 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test.py
+2023/06/07 | 602 | graphics/asymptote/examples/treetest.asy
+2023/06/07 | 6021 | graphics/asymptote/prc/PRCTools/bitData.cc
+2023/06/07 | 601 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/widget.json
+2023/06/07 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
+2023/06/07 | 600 | graphics/asymptote/base/size11.asy
+2023/06/07 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail30.json
+2023/06/07 | 5 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/abcde.txt
+2023/06/07 | 59 | graphics/asymptote/examples/stroke3.asy
+2023/06/07 | 5996 | graphics/asymptote/LspCpp/third_party/rapidjson/example/jsonx/jsonx.cpp
+2023/06/07 | 598 | graphics/asymptote/examples/integraltest.asy
+2023/06/07 | 5987 | graphics/asymptote/runfile.in
+2023/06/07 | 596384 | systems/texlive/tlnet/archive/l3kernel.source.r67294.tar.xz
+2023/06/07 | 59583 | graphics/asymptote/GUI/pyUIClass/window1.py
+2023/06/07 | 594 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_bibtex.snap
+2023/06/07 | 594 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+2023/06/07 | 593 | graphics/asymptote/GUI/res/icons/bucket.asy
+2023/06/07 | 5933 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkeydom/filterkeydom.cpp
+2023/06/07 | 5925 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample9_unittest.cc
+2023/06/07 | 591 | graphics/asymptote/examples/sinc.asy
+2023/06/07 | 590 | support/texlab/crates/texlab/src/features/hover/entry_type.rs
+2023/06/07 | 5900 | support/texlab/crates/base-db/src/util/label.rs
+2023/06/07 | 58 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail10.json
+2023/06/07 | 58 | graphics/asymptote/examples/progrid.asy
+2023/06/07 | 589 | graphics/asymptote/examples/trefoilknot.asy
+2023/06/07 | 588 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
+2023/06/07 | 588 | support/texlab/crates/commands/Cargo.toml
+2023/06/07 | 5883 | graphics/asymptote/Delaunay.cc
+2023/06/07 | 5879 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.h
+2023/06/07 | 586 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateAccessors.h
+2023/06/07 | 586 | graphics/asymptote/GUI/xasyStrings.py
+2023/06/07 | 5864 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__betram_1996.txt.snap
+2023/06/07 | 585 | support/texlab/crates/base-db/src/semantics.rs
+2023/06/07 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
+2023/06/07 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
+2023/06/07 | 5832 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/fwdtest.cpp
+2023/06/07 | 58317 | support/texlab/crates/base-db/src/data.rs
+2023/06/07 | 582 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/glossary.json
+2023/06/07 | 582 | graphics/asymptote/examples/cos3.asy
+2023/06/07 | 5820 | graphics/asymptote/cudareflect/IrradianceGenerator.vcxproj
+2023/06/07 | 581 | graphics/asymptote/examples/BezierSaddle.asy
+2023/06/07 | 5818 | graphics/asymptote/LspCpp/include/LibLsp/lsp/IProgressMonitor.h
+2023/06/07 | 580 | graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
+2023/06/07 | 580 | graphics/asymptote/examples/xsin1x.asy
+2023/06/07 | 57 | graphics/asymptote/GUI/requirements.txt
+2023/06/07 | 579 | graphics/asymptote/examples/sqrtx01y1.asy
+2023/06/07 | 579 | graphics/asymptote/examples/sin3.asy
+2023/06/07 | 579 | graphics/asymptote/examples/exp3.asy
+2023/06/07 | 57989 | graphics/asymptote/runpicture.cc
+2023/06/07 | 578 | graphics/asymptote/base/annotate.asy
+2023/06/07 | 5789 | graphics/asymptote/base/trembling.asy
+2023/06/07 | 5783 | graphics/asymptote/bezierpatch.h
+2023/06/07 | 576 | graphics/asymptote/examples/threeviews.asy
+2023/06/07 | 576 | graphics/asymptote/examples/circles.asy
+2023/06/07 | 5767 | graphics/asymptote/drawpath3.h
+2023/06/07 | 57566 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
+2023/06/07 | 5752 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/perftest.h
+2023/06/07 | 5748 | graphics/asymptote/fileio.cc
+2023/06/07 | 573 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/highlight.h
+2023/06/07 | 5735 | graphics/asymptote/base/plain_scaling.asy
+2023/06/07 | 5734403 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/06/07 | 5733 | graphics/asymptote/item.h
+2023/06/07 | 572 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_aho_2006.snap
+2023/06/07 | 572 | graphics/asymptote/LspCpp/third_party/uri/test/invalid_urls.txt
+2023/06/07 | 572 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/config.hpp
+2023/06/07 | 572 | graphics/asymptote/examples/curvedlabel3.asy
+2023/06/07 | 57247 | graphics/pgf/contrib/tikz-nfold/tikzlibrarynfold.code.tex
+2023/06/07 | 5711 | graphics/asymptote/LspCpp/third_party/uri/test/uri_encoding_test.cpp
+2023/06/07 | 5705 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-outfiles-test.py
+2023/06/07 | 569 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/Makefile
+2023/06/07 | 5691 | graphics/asymptote/name.h
+2023/06/07 | 5689 | graphics/asymptote/interact.cc
+2023/06/07 | 5684 | support/texlab/crates/parser/src/build_log.rs
+2023/06/07 | 5683 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTING.md
+2023/06/07 | 566 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_figure.snap
+2023/06/07 | 565 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
+2023/06/07 | 5658 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test.py
+2023/06/07 | 5645 | support/texlab/crates/symbols/src/workspace/sort.rs
+2023/06/07 | 563 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_number.txt.snap
+2023/06/07 | 563 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+2023/06/07 | 5627 | graphics/asymptote/doc/FAQ/m-info.pl
+2023/06/07 | 5621 | graphics/asymptote/errormsg.h
+2023/06/07 | 561 | graphics/asymptote/LspCpp/third_party/rapidjson/package.json
+2023/06/07 | 55 | support/texlab/crates/parser/src/test_data/latex/issue_857.txt
+2023/06/07 | 55991 | graphics/asymptote/base/smoothcontour3.asy
+2023/06/07 | 5595 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest_.cc
+2023/06/07 | 558 | graphics/asymptote/examples/floatingdisk.asy
+2023/06/07 | 557 | support/texlab/crates/parser/src/test_data/bibtex/samples/rivest_1978.txt
+2023/06/07 | 557 | graphics/asymptote/examples/Pythagoras.asy
+2023/06/07 | 55733 | graphics/asymptote/LspCpp/third_party/utfcpp/README.md
+2023/06/07 | 556 | support/texlab/crates/parser/src/test_data/bibtex/samples/betram_1996.txt
+2023/06/07 | 555 | support/texlab/crates/texlab/src/features/link/include.rs
+2023/06/07 | 5556 | support/texlab/crates/symbols/src/document/tests.rs
+2023/06/07 | 554 | support/texlab/crates/texlab/src/features/completion/theorem.rs
+2023/06/07 | 5542 | graphics/asymptote/drawpath3.cc
+2023/06/07 | 5540 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/stringbuffertest.cpp
+2023/06/07 | 5537 | graphics/asymptote/examples/cpkcolors.asy
+2023/06/07 | 55327 | graphics/asymptote/settings.cc
+2023/06/07 | 5531 | graphics/asymptote/examples/filesurface.dat
+2023/06/07 | 552 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_options.txt.snap
+2023/06/07 | 5521 | graphics/asymptote/base/rational.asy
+2023/06/07 | 550 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__begin_environment_without_snippet_support.snap
+2023/06/07 | 54 | graphics/asymptote/tests/gc/funcall.asy
+2023/06/07 | 548 | graphics/asymptote/examples/equilchord.asy
+2023/06/07 | 548 | graphics/asymptote/cudareflect/Makefile
+2023/06/07 | 547 | graphics/asymptote/examples/tetra.asy
+2023/06/07 | 544 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple_end.snap
+2023/06/07 | 5441 | graphics/asymptote/env.cc
+2023/06/07 | 541 | graphics/asymptote/v3dtypes.h
+2023/06/07 | 5415 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfiles_test.py
+2023/06/07 | 5415 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/istreamwrappertest.cpp
+2023/06/07 | 54109 | graphics/asymptote/optional.hpp
+2023/06/07 | 538 | support/texlab/crates/citeproc/Cargo.toml
+2023/06/07 | 5386 | support/texlab/crates/parser/src/latex/lexer/commands.rs
+2023/06/07 | 5375 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3-inl.h
+2023/06/07 | 5366 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/stream.h
+2023/06/07 | 5360 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample3_unittest.cc
+2023/06/07 | 535 | graphics/asymptote/cudareflect/tinyexr/Makefile.llvm-mingw
+2023/06/07 | 5358 | graphics/asymptote/LspCpp/src/lsp/working_files.cpp
+2023/06/07 | 533 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
+2023/06/07 | 533 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
+2023/06/07 | 533 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/generateToString.h
+2023/06/07 | 533 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_savedialog.c
+2023/06/07 | 53373 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-more-actions_test.cc
+2023/06/07 | 5323 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/exr2fptiff.cc
+2023/06/07 | 530 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/test_opendialog.c
+2023/06/07 | 5308 | graphics/asymptote/pair.h
+2023/06/07 | 52 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_command.txt
+2023/06/07 | 52 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested_missing_braces.txt
+2023/06/07 | 52 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass2.json
+2023/06/07 | 52 | graphics/asymptote/doc/square.asy
+2023/06/07 | 5279 | graphics/asymptote/base/bsp.asy
+2023/06/07 | 52750 | graphics/asymptote/cudareflect/tinyexr/test/unit/tester.cc
+2023/06/07 | 5272 | graphics/asymptote/GUI/labelEditor.py
+2023/06/07 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
+2023/06/07 | 5265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-message-test.cc
+2023/06/07 | 5262 | graphics/asymptote/patches/bison.patch
+2023/06/07 | 5262 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-cardinalities.cc
+2023/06/07 | 525 | graphics/asymptote/examples/vectorfield3.asy
+2023/06/07 | 5259 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.png
+2023/06/07 | 5254 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest.py
+2023/06/07 | 5250 | graphics/asymptote/pipestream.cc
+2023/06/07 | 524 | graphics/asymptote/doc/brokenaxis.asy
+2023/06/07 | 5242 | graphics/asymptote/LspCpp/src/jsonrpc/serializer.cpp
+2023/06/07 | 5238 | graphics/asymptote/base/animation.asy
+2023/06/07 | 521 | graphics/asymptote/doc/Hobbycontrol.asy
+2023/06/07 | 5216 | graphics/asymptote/examples/mosaic.asy
+2023/06/07 | 520 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
+2023/06/07 | 520 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal.txt.snap
+2023/06/07 | 520 | graphics/asymptote/examples/smoothelevation.asy
+2023/06/07 | 5204 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-bazel.md
+2023/06/07 | 51 | support/texlab/crates/parser/src/test_data/latex/issue_828.txt
+2023/06/07 | 519 | graphics/asymptote/examples/extrudedcontour.asy
+2023/06/07 | 518 | graphics/asymptote/doc/CDlabel.asy
+2023/06/07 | 5183 | graphics/asymptote/stm.h
+2023/06/07 | 517 | support/texlab/crates/parser/src/test_data/bibtex/samples/matuz_1990.txt
+2023/06/07 | 516 | support/texlab/crates/texlab/src/features/completion/component_environment.rs
+2023/06/07 | 5169 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
+2023/06/07 | 51671 | graphics/asymptote/prc/oPRCFile.h
+2023/06/07 | 5152 | graphics/asymptote/LspCpp/third_party/rapidjson/license.txt
+2023/06/07 | 513 | graphics/asymptote/examples/buildcycle.asy
+2023/06/07 | 5136 | support/texlab/crates/base-db/src/graph.rs
+2023/06/07 | 51302 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-actions_test.cc
+2023/06/07 | 512 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_857_1.snap
+2023/06/07 | 5129 | graphics/asymptote/LspCpp/third_party/rapidjson/example/parsebyparts/parsebyparts.cpp
+2023/06/07 | 5115 | graphics/asymptote/memory.h
+2023/06/07 | 5114 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/future.h
+2023/06/07 | 5111 | graphics/asymptote/runsystem.in
+2023/06/07 | 5111 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1_unittest.cc
+2023/06/07 | 510 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/README.md
+2023/06/07 | 50 | support/texlab/crates/parser/src/test_data/latex/environment/environment_asymptote.txt
+2023/06/07 | 50 | support/texlab/crates/parser/src/test_data/bibtex/issue_809.txt
+2023/06/07 | 50 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail18.json
+2023/06/07 | 50 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf16le.inc
+2023/06/07 | 50 | graphics/asymptote/base/babel.asy
+2023/06/07 | 509 | graphics/asymptote/examples/dimension.asy
+2023/06/07 | 509 | graphics/asymptote/cudareflect/tinyexr/Makefile
+2023/06/07 | 50899 | graphics/asymptote/runarray.in
+2023/06/07 | 507 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_simple.txt.snap
+2023/06/07 | 506 | graphics/asymptote/examples/delu.asy
+2023/06/07 | 5064 | graphics/asymptote/runhistory.in
+2023/06/07 | 5063 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
+2023/06/07 | 506313 | graphics/asymptote/libatomic_ops-7.6.12.tar.gz
+2023/06/07 | 5062 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/pkgconfig.md
+2023/06/07 | 5060 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__matuz_1990.txt.snap
+2023/06/07 | 5054 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/quickstart-cmake.md
+2023/06/07 | 504 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_argc.txt.snap
+2023/06/07 | 504 | graphics/asymptote/absyn.cc
+2023/06/07 | 50437 | graphics/asymptote/gsl.cc
+2023/06/07 | 503 | graphics/asymptote/examples/animations/embeddedmovie.asy
+2023/06/07 | 503 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-63-tinyexr_signed-integer-overflow
+2023/06/07 | 502 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_simple.txt.snap
+2023/06/07 | 5021 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.h
+2023/06/07 | 500 | graphics/asymptote/examples/floor.asy
+2023/06/07 | 500 | graphics/asymptote/doc/Hobbydir.asy
+2023/06/07 | 4 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets_with_group.txt
+2023/06/07 | 4 | support/texlab/crates/parser/src/test_data/latex/generic_command_empty.txt
+2023/06/07 | 4 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail29.json
+2023/06/07 | 49 | graphics/asymptote/doc/quartercircle.asy
+2023/06/07 | 49 | graphics/asymptote/doc/dots.asy
+2023/06/07 | 49 | graphics/asymptote/doc/colons.asy
+2023/06/07 | 499 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
+2023/06/07 | 499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/libgtest.la.in
+2023/06/07 | 499 | graphics/asymptote/examples/galleon.asy
+2023/06/07 | 4992 | graphics/asymptote/base/tube.asy
+2023/06/07 | 498 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/type_definition.h
+2023/06/07 | 498 | graphics/asymptote/examples/fano.asy
+2023/06/07 | 498 | graphics/asymptote/doc/penfunctionimage.asy
+2023/06/07 | 498661 | macros/latex/contrib/postit/doc/postit-doc-fr.pdf
+2023/06/07 | 4985 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample10_unittest.cc
+2023/06/07 | 49797 | graphics/asymptote/config.guess
+2023/06/07 | 496 | graphics/asymptote/examples/bars3.asy
+2023/06/07 | 4963 | graphics/asymptote/LspCpp/third_party/rapidjson/example/filterkey/filterkey.cpp
+2023/06/07 | 495 | graphics/asymptote/examples/cones.asy
+2023/06/07 | 495 | graphics/asymptote/cudareflect/tinyexr/experimental/js/test.js
+2023/06/07 | 4953 | support/texlab/crates/base-db/src/document.rs
+2023/06/07 | 494 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple.snap
+2023/06/07 | 494 | graphics/asymptote/drawgrestore.h
+2023/06/07 | 494 | graphics/asymptote/cudareflect/tinyexr/experimental/js/compile_to_js.sh
+2023/06/07 | 4942 | graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
+2023/06/07 | 492 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Cancellation.h
+2023/06/07 | 4923 | graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
+2023/06/07 | 491 | graphics/asymptote/LspCpp/third_party/rapidjson/test/CMakeLists.txt
+2023/06/07 | 4919 | graphics/asymptote/process.h
+2023/06/07 | 491144 | macros/latex/contrib/postit/doc/postit-doc-en.pdf
+2023/06/07 | 490 | support/texlab/crates/base-db/Cargo.toml
+2023/06/07 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/06/07 | 48 | support/texlab/crates/parser/src/test_data/latex/block_comments.txt
+2023/06/07 | 489 | graphics/asymptote/patches/gc-7.0nomem.patch
+2023/06/07 | 489 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCompletionItem.h
+2023/06/07 | 4896 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test.py
+2023/06/07 | 4895 | graphics/asymptote/fundec.h
+2023/06/07 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/06/07 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/06/07 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/06/07 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/06/07 | 488 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/implementation.h
+2023/06/07 | 48847 | graphics/asymptote/doc/secondaryaxis.csv
+2023/06/07 | 48749 | support/texlab/Cargo.lock
+2023/06/07 | 4873 | graphics/asymptote/parser.cc
+2023/06/07 | 4872 | graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
+2023/06/07 | 486 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_closed.snap
+2023/06/07 | 4862 | graphics/asymptote/drawpath.cc
+2023/06/07 | 485 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_open.snap
+2023/06/07 | 485 | graphics/asymptote/examples/cards.asy
+2023/06/07 | 48481 | graphics/asymptote/prc/writePRC.h
+2023/06/07 | 4841 | graphics/asymptote/tests/array/slice.asy
+2023/06/07 | 483 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_multiple.txt.snap
+2023/06/07 | 483 | macros/latex/contrib/postit/README.md
+2023/06/07 | 483 | graphics/asymptote/LspCpp/third_party/uri/test/string_utility.hpp
+2023/06/07 | 482 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialized.h
+2023/06/07 | 4811 | graphics/asymptote/base/x11colors.asy
+2023/06/07 | 480 | graphics/asymptote/doc/logimage.asy
+2023/06/07 | 4809 | graphics/asymptote/examples/interpolate1.asy
+2023/06/07 | 4807 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-port.h
+2023/06/07 | 4805 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.zh-cn.md
+2023/06/07 | 47 | support/texlab/crates/texlab/tests/lsp/main.rs
+2023/06/07 | 47 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_incomplete.txt
+2023/06/07 | 47 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition.txt
+2023/06/07 | 479 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_error.txt.snap
+2023/06/07 | 479 | graphics/asymptote/examples/magnetic.asy
+2023/06/07 | 47993 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test-test.cc
+2023/06/07 | 4787 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/README.md
+2023/06/07 | 4782 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
+2023/06/07 | 477 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
+2023/06/07 | 476 | graphics/asymptote/GUI/configs/xasykeymap.cson
+2023/06/07 | 4766 | graphics/asymptote/GUI/xasyFile.py
+2023/06/07 | 4761 | graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
+2023/06/07 | 475953 | graphics/asymptote/doc/png/asymptote.info
+2023/06/07 | 47582 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-port.cc
+2023/06/07 | 473 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/link.txt
+2023/06/07 | 473 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
+2023/06/07 | 4738 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-360c3b0555cb979ca108f2d178cf8a80959cfeabaa4ec1d310d062fa653a8c6b_min
+2023/06/07 | 473703 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-1383755b301e5f505b2198dc0508918b537fdf48bbfc6deeffe268822e6f6cd6
+2023/06/07 | 473695 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-e7fa6404daa861369d2172fe68e08f9d38c0989f57da7bcfb510bab67e19ca9f
+2023/06/07 | 4735 | graphics/asymptote/array.cc
+2023/06/07 | 4733 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/jsoncheckertest.cpp
+2023/06/07 | 4731 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/flaga.exr
+2023/06/07 | 472 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote.txt.snap
+2023/06/07 | 472 | graphics/asymptote/examples/colorplanes.asy
+2023/06/07 | 4727 | graphics/asymptote/doc/westnile.csv
+2023/06/07 | 4724 | support/texlab/crates/citeproc/src/entry.rs
+2023/06/07 | 4718 | graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
+2023/06/07 | 4718 | graphics/asymptote/doc/FAQ/m-ascii.pl
+2023/06/07 | 4716 | graphics/asymptote/prc/PRCTools/makePRC.cc
+2023/06/07 | 470 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_simple.txt.snap
+2023/06/07 | 469 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSONConfigVersion.cmake.in
+2023/06/07 | 46854 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-internal-inl.h
+2023/06/07 | 4674 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
+2023/06/07 | 4668 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-list-tests-unittest_.cc
+2023/06/07 | 465 | graphics/asymptote/LspCpp/src/jsonrpc/threaded_queue.cpp
+2023/06/07 | 46531 | graphics/asymptote/base/plain_picture.asy
+2023/06/07 | 464 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
+2023/06/07 | 464 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@007.txt.snap
+2023/06/07 | 464 | graphics/asymptote/drawgsave.h
+2023/06/07 | 464 | graphics/asymptote/doc/GaussianSurface.asy
+2023/06/07 | 463 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/jsregex.json
+2023/06/07 | 4635 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/exrfilter.cc
+2023/06/07 | 4629 | graphics/asymptote/castop.h
+2023/06/07 | 4620 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample7_unittest.cc
+2023/06/07 | 461 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
+2023/06/07 | 4613 | graphics/asymptote/LspCpp/third_party/uri/deps/README.md
+2023/06/07 | 460 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_args.txt.snap
+2023/06/07 | 460 | graphics/asymptote/examples/lever.asy
+2023/06/07 | 460 | graphics/asymptote/examples/cosaddition.asy
+2023/06/07 | 4608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/format.json
+2023/06/07 | 4602 | graphics/asymptote/util.h
+2023/06/07 | 4602 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/README.md
+2023/06/07 | 459 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_closed_brace.snap
+2023/06/07 | 459 | graphics/asymptote/examples/hierarchy.asy
+2023/06/07 | 4597 | graphics/asymptote/drawfill.cc
+2023/06/07 | 458 | graphics/asymptote/doc/multicontour.asy
+2023/06/07 | 4581 | graphics/asymptote/LspCpp/third_party/rapidjson/example/serialize/serialize.cpp
+2023/06/07 | 457 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error3.txt.snap
+2023/06/07 | 4578 | graphics/asymptote/doc/FAQ/m-post.pl
+2023/06/07 | 4571 | graphics/asymptote/env.h
+2023/06/07 | 456 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_multiple.txt.snap
+2023/06/07 | 454 | graphics/asymptote/EXRFiles.h
+2023/06/07 | 453 | support/texlab/crates/symbols/Cargo.toml
+2023/06/07 | 453 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_multiple_keys.txt.snap
+2023/06/07 | 453 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentIdentifier.h
+2023/06/07 | 4531 | graphics/asymptote/webgl/fragment.glsl
+2023/06/07 | 452 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_closed_brace.snap
+2023/06/07 | 452 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_line_break.txt.snap
+2023/06/07 | 45222 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/string_ref.h
+2023/06/07 | 4520 | graphics/asymptote/getopt1.c
+2023/06/07 | 451 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__tikz_library_open_brace.snap
+2023/06/07 | 45150 | macros/latex/contrib/postit/tex/postit.sty
+2023/06/07 | 4514 | graphics/asymptote/bbox.h
+2023/06/07 | 44 | support/texlab/crates/parser/src/test_data/latex/include/class_include_options.txt
+2023/06/07 | 44 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_simple.txt
+2023/06/07 | 44 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition_optional_arg.txt
+2023/06/07 | 44 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_simple.txt
+2023/06/07 | 449 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_closed_brace.snap
+2023/06/07 | 449 | graphics/asymptote/tests/arith/pair.asy
+2023/06/07 | 448 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_open_brace.snap
+2023/06/07 | 448 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@002.txt.snap
+2023/06/07 | 448 | support/texlab/crates/commands/src/snapshots/commands__find_envs__tests__test.snap
+2023/06/07 | 4487 | graphics/asymptote/base/plain_shipout.asy
+2023/06/07 | 4481 | graphics/asymptote/v3dfile.h
+2023/06/07 | 447 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path.txt.snap
+2023/06/07 | 4474 | graphics/asymptote/GUI/windows/widg_editBezier.ui
+2023/06/07 | 4471 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-3f1f642c3356fd8e8d2a0787613ec09a56572b3a1e38c9629b6db9e8dead1117_min
+2023/06/07 | 44634 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.png
+2023/06/07 | 445 | support/texlab/crates/base-db/src/util/regex_filter.rs
+2023/06/07 | 445 | graphics/asymptote/examples/sacone.asy
+2023/06/07 | 445 | graphics/asymptote/cudareflect/kernel.h
+2023/06/07 | 443 | graphics/asymptote/cudareflect/ReflectanceMapper.cuh
+2023/06/07 | 4438 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+2023/06/07 | 4438 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/platformtest.cpp
+2023/06/07 | 442 | graphics/asymptote/doc/join3.asy
+2023/06/07 | 441 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_field_name.snap
+2023/06/07 | 441 | graphics/asymptote/examples/triangles.asy
+2023/06/07 | 4416 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/bigintegertest.cpp
+2023/06/07 | 43 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested.txt
+2023/06/07 | 43 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean_target.cmake
+2023/06/07 | 43 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail13.json
+2023/06/07 | 43 | graphics/asymptote/examples/spring2.asy
+2023/06/07 | 439 | graphics/asymptote/examples/gamma.asy
+2023/06/07 | 439 | graphics/asymptote/doc/histogram.asy
+2023/06/07 | 43960 | graphics/asymptote/fftw++.h
+2023/06/07 | 4385 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/ref.json
+2023/06/07 | 4384 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.cpp
+2023/06/07 | 43830 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/testing.md
+2023/06/07 | 4381 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/filestreamtest.cpp
+2023/06/07 | 437 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw
+2023/06/07 | 4375 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/draft-04/schema
+2023/06/07 | 4371 | graphics/asymptote/cudareflect/kernel.cu
+2023/06/07 | 436 | graphics/asymptote/examples/colorpatch.asy
+2023/06/07 | 43670 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.png
+2023/06/07 | 4366 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/ref.json
+2023/06/07 | 4362 | graphics/asymptote/LspCpp/third_party/uri/test/optional_test.cpp
+2023/06/07 | 4357 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test.py
+2023/06/07 | 4348 | graphics/asymptote/doc/colo-asy.tex
+2023/06/07 | 433 | graphics/asymptote/examples/twoSpheres.asy
+2023/06/07 | 4335 | graphics/asymptote/prc/PRCTools/describePRC.h
+2023/06/07 | 43335 | graphics/asymptote/examples/100d.pdb1
+2023/06/07 | 430 | support/texlab/crates/base-db/src/diagnostics.rs
+2023/06/07 | 430 | graphics/asymptote/examples/unitoctant.asy
+2023/06/07 | 43051 | graphics/asymptote/picture.cc
+2023/06/07 | 4300 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_745.txt.snap
+2023/06/07 | 42 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_options.txt
+2023/06/07 | 42 | graphics/asymptote/base/animate.asy
+2023/06/07 | 429 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
+2023/06/07 | 428 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/symbol.h
+2023/06/07 | 4286 | graphics/asymptote/asy.ico
+2023/06/07 | 4285 | graphics/asymptote/newexp.cc
+2023/06/07 | 4283 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_premature_exit_test.cc
+2023/06/07 | 427 | graphics/asymptote/examples/projectrevolution.asy
+2023/06/07 | 42714 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test-golden-lin.txt
+2023/06/07 | 427064 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67291.tar.xz
+2023/06/07 | 426 | graphics/asymptote/examples/pathintersectsurface.asy
+2023/06/07 | 426 | graphics/asymptote/doc/grid3xyz.asy
+2023/06/07 | 4269 | graphics/asymptote/LspCpp/src/lsp/ParentProcessWatcher.cpp
+2023/06/07 | 4254 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/readme.md
+2023/06/07 | 424 | graphics/asymptote/examples/spiral3.asy
+2023/06/07 | 4248 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strtodtest.cpp
+2023/06/07 | 4247 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/prime_tables.h
+2023/06/07 | 4244 | graphics/asymptote/examples/fin.asy
+2023/06/07 | 4242 | graphics/asymptote/tests/types/keyword.asy
+2023/06/07 | 423 | graphics/asymptote/doc/log2graph.asy
+2023/06/07 | 423 | graphics/asymptote/doc/helix.asy
+2023/06/07 | 4230 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/logo/rapidjson.svg
+2023/06/07 | 422 | graphics/asymptote/v3dtypes.csv
+2023/06/07 | 4227 | graphics/asymptote/LspCpp/third_party/uri/src/uri_builder.cpp
+2023/06/07 | 42202 | macros/latex/contrib/examz/examz.dtx
+2023/06/07 | 421 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_closed.snap
+2023/06/07 | 420 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_open.snap
+2023/06/07 | 420 | graphics/asymptote/examples/PythagoreanTree.asy
+2023/06/07 | 4209 | graphics/asymptote/flatguide.h
+2023/06/07 | 4207 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-port-arch.h
+2023/06/07 | 4202 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/guids.json
+2023/06/07 | 41 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_thmtools.txt
+2023/06/07 | 41 | support/texlab/crates/parser/src/test_data/latex/include/package_include_options.txt
+2023/06/07 | 41 | graphics/asymptote/doc/bigdiagonal.asy
+2023/06/07 | 41 | graphics/asymptote/cudareflect/tinyexr/jni/Application.mk
+2023/06/07 | 419 | graphics/asymptote/examples/torus.asy
+2023/06/07 | 419 | graphics/asymptote/base/shaders/compress.glsl
+2023/06/07 | 418 | graphics/asymptote/examples/planeproject.asy
+2023/06/07 | 417 | graphics/asymptote/doc/knots.asy
+2023/06/07 | 4173 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test.py
+2023/06/07 | 4172 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example6.c
+2023/06/07 | 416 | graphics/asymptote/doc/bezier2.asy
+2023/06/07 | 4169 | support/texlab/crates/texlab/tests/lsp/text_document/references.rs
+2023/06/07 | 4166 | graphics/asymptote/GUI/windows/widgetPointEditor.ui
+2023/06/07 | 4163 | support/texlab/crates/texlab/src/util/diagnostics.rs
+2023/06/07 | 4160 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/linux-presubmit.sh
+2023/06/07 | 415 | graphics/asymptote/doc/linetype.asy
+2023/06/07 | 4158 | graphics/asymptote/examples/advection.asy
+2023/06/07 | 4156 | graphics/asymptote/runpair.in
+2023/06/07 | 41517 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.png
+2023/06/07 | 414 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_word.snap
+2023/06/07 | 414 | graphics/asymptote/examples/animations/glmovie.asy
+2023/06/07 | 4130 | support/texlab/crates/parser/src/test_data/build_log/006.txt
+2023/06/07 | 412 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/flags.make
+2023/06/07 | 4126 | support/texlab/crates/texlab/src/features/symbols.rs
+2023/06/07 | 4126 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-test-part.cc
+2023/06/07 | 41219 | support/texlab/crates/texlab/src/server.rs
+2023/06/07 | 411 | graphics/asymptote/examples/animations/externalmovie.asy
+2023/06/07 | 4118 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lru_cache.h
+2023/06/07 | 4116 | graphics/asymptote/cudareflect/tinyexr/test/exrwrite/exrwritetest.cpp
+2023/06/07 | 41154 | macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
+2023/06/07 | 410 | graphics/asymptote/examples/Sierpinski.asy
+2023/06/07 | 40 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail32.json
+2023/06/07 | 40998 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.cc
+2023/06/07 | 408 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
+2023/06/07 | 4089 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
+2023/06/07 | 40899 | graphics/asymptote/doc/FAQ/asy-faq.bfnn
+2023/06/07 | 4088 | graphics/asymptote/base/plain_boxes.asy
+2023/06/07 | 40876 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-port-test.cc
+2023/06/07 | 407 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
+2023/06/07 | 407 | support/texlab/crates/parser/Cargo.toml
+2023/06/07 | 407 | graphics/asymptote/examples/parametricsurface.asy
+2023/06/07 | 407 | graphics/asymptote/examples/BezierPatch.asy
+2023/06/07 | 407 | graphics/asymptote/cudareflect/tinyexr/Makefile.gcc-mingw-msys
+2023/06/07 | 4079380 | biblio/ctan-bibdata.zip
+2023/06/07 | 4072 | graphics/asymptote/tests/types/order.asy
+2023/06/07 | 406 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file_mumber.snap
+2023/06/07 | 4067 | graphics/asymptote/doc/diatom.csv
+2023/06/07 | 40665 | graphics/asymptote/examples/tvgen.asy
+2023/06/07 | 405 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_simple.snap
+2023/06/07 | 4051 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/istreamwrapper.h
+2023/06/07 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_open_brace.snap
+2023/06/07 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_simple.snap
+2023/06/07 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_open_brace.snap
+2023/06/07 | 404 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
+2023/06/07 | 403 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_open_brace.snap
+2023/06/07 | 4028 | support/texlab/crates/texlab/src/features/completion/include.rs
+2023/06/07 | 401 | graphics/asymptote/doc/image.asy
+2023/06/07 | 401 | graphics/asymptote/cudareflect/tinyexr/test/unit/README.md
+2023/06/07 | 400 | graphics/asymptote/examples/sacylinder.asy
+2023/06/07 | 400 | graphics/asymptote/cudareflect/tinyexr/test/unit/Makefile
+2023/06/07 | 4007 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/fwd.h
+2023/06/07 | 4004 | support/texlab/crates/texlab/src/util/lsp_enums.rs
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_options.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_complicated_options.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_definition_simple.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error1.txt
+2023/06/07 | 39 | support/texlab/crates/parser/src/test_data/latex/caption/caption_figure.txt
+2023/06/07 | 39 | graphics/asymptote/base/nopapersize.ps
+2023/06/07 | 399 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_empty.snap
+2023/06/07 | 398 | graphics/asymptote/examples/epix.asy
+2023/06/07 | 3978 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
+2023/06/07 | 396 | graphics/asymptote/doc/triangulate.asy
+2023/06/07 | 396 | graphics/asymptote/doc/legend.asy
+2023/06/07 | 3968 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/stringbuffer.h
+2023/06/07 | 3967 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.h
+2023/06/07 | 395 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/2by2.exr
+2023/06/07 | 3956 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/itoatest.cpp
+2023/06/07 | 395513 | graphics/asymptote/doc/asymptote.texi
+2023/06/07 | 394 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
+2023/06/07 | 39458 | graphics/asymptote/cudareflect/tinyexr/examples/common/cxxopts.hpp
+2023/06/07 | 3943 | support/texlab/crates/texlab/tests/lsp/text_document/hover.rs
+2023/06/07 | 393 | graphics/asymptote/GUI/setup.py
+2023/06/07 | 3936 | graphics/asymptote/base/interpolate.asy
+2023/06/07 | 3917 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2_unittest.cc
+2023/06/07 | 3915 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Markup/Markup.h
+2023/06/07 | 3912 | graphics/asymptote/tr.h
+2023/06/07 | 390 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/buildWorkspace.h
+2023/06/07 | 390 | graphics/asymptote/doc/tile.asy
+2023/06/07 | 38 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail26.json
+2023/06/07 | 38 | graphics/asymptote/examples/spring0.asy
+2023/06/07 | 389 | support/texlab/crates/commands/src/lib.rs
+2023/06/07 | 388 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/common.h
+2023/06/07 | 387 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_simple.txt.snap
+2023/06/07 | 3870 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_path_test.cpp
+2023/06/07 | 386 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__ignored_patterns.snap
+2023/06/07 | 386 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_simple.txt.snap
+2023/06/07 | 385 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__verbatim_include_simple.txt.snap
+2023/06/07 | 3857 | graphics/asymptote/examples/pipes.asy
+2023/06/07 | 384 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_at_empty.snap
+2023/06/07 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__tikz_library_import_simple.txt.snap
+2023/06/07 | 384 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__escaped_brackets.txt.snap
+2023/06/07 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/zeroTerminatedFloats.json
+2023/06/07 | 384 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/zeroTerminatedFloats.json
+2023/06/07 | 384 | graphics/asymptote/examples/RiemannSurfaceRoot.asy
+2023/06/07 | 384 | graphics/asymptote/Delaunay.h
+2023/06/07 | 3842 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_assert_by_exception_test.cc
+2023/06/07 | 383 | graphics/asymptote/tests/io/csv.asy
+2023/06/07 | 383 | graphics/asymptote/tests/arith/real.asy
+2023/06/07 | 383 | graphics/asymptote/examples/Gouraud.asy
+2023/06/07 | 3838 | support/texlab/crates/commands/src/build.rs
+2023/06/07 | 382 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__pgf_library_import_simple.txt.snap
+2023/06/07 | 382 | graphics/asymptote/doc/loggrid.asy
+2023/06/07 | 380 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_incomplete.txt.snap
+2023/06/07 | 380190 | support/texlab/images/demo.gif
+2023/06/07 | 37 | support/texlab/crates/parser/src/test_data/latex/issue_874.txt
+2023/06/07 | 37 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail3.json
+2023/06/07 | 379 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation.txt.snap
+2023/06/07 | 37991 | graphics/asymptote/path3.cc
+2023/06/07 | 3790199 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/deepview_screencast.gif
+2023/06/07 | 378 | graphics/asymptote/examples/sinxlex.asy
+2023/06/07 | 378 | graphics/asymptote/doc/icon.asy
+2023/06/07 | 37889 | graphics/asymptote/exp.cc
+2023/06/07 | 3780 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-typed-test.cc
+2023/06/07 | 377 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
+2023/06/07 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_simple.txt.snap
+2023/06/07 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__bibtex_include_simple.txt.snap
+2023/06/07 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__math_operator_no_impl.txt.snap
+2023/06/07 | 376 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ParentProcessWatcher.h
+2023/06/07 | 376 | graphics/asymptote/examples/sphericalharmonic.asy
+2023/06/07 | 376 | graphics/asymptote/doc/generalaxis3.asy
+2023/06/07 | 376913 | graphics/asymptote/cudareflect/tinyexr/test/unit/catch.hpp
+2023/06/07 | 37685 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_write.h
+2023/06/07 | 3767 | support/texlab/README.md
+2023/06/07 | 3767 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_test_macro_stack_footprint_test.cc
+2023/06/07 | 3765 | graphics/asymptote/prc/PRCdouble.h
+2023/06/07 | 375 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_simple.txt.snap
+2023/06/07 | 375 | graphics/asymptote/examples/AiryDisk.asy
+2023/06/07 | 374 | graphics/asymptote/doc/monthaxis.asy
+2023/06/07 | 3740 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
+2023/06/07 | 373 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_simple.txt.snap
+2023/06/07 | 373 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@preamble.txt.snap
+2023/06/07 | 373 | graphics/asymptote/examples/projectelevation.asy
+2023/06/07 | 373 | graphics/asymptote/doc/lineargraph.asy
+2023/06/07 | 3739 | graphics/asymptote/examples/xstitch.asy
+2023/06/07 | 3737 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindSanitizers.cmake
+2023/06/07 | 3734 | support/texlab/crates/base-db/src/config.rs
+2023/06/07 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_simple.txt.snap
+2023/06/07 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_simple.txt.snap
+2023/06/07 | 3729 | support/texlab/crates/texlab/src/util/chktex.rs
+2023/06/07 | 37281 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.png
+2023/06/07 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-matchers.cc
+2023/06/07 | 3723 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock.h
+2023/06/07 | 3719 | graphics/asymptote/base/three_light.asy
+2023/06/07 | 37135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/tiny_dng_writer.h
+2023/06/07 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16lebom.json
+2023/06/07 | 370 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16bebom.json
+2023/06/07 | 3706 | graphics/asymptote/base/plain_constants.asy
+2023/06/07 | 3704 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-env-var-test_.cc
+2023/06/07 | 369 | graphics/asymptote/tests/gs/ghostscript.asy
+2023/06/07 | 369 | graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
+2023/06/07 | 368 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_import.snap
+2023/06/07 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16le.json
+2023/06/07 | 368 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf16be.json
+2023/06/07 | 3680800 | biblio/ctan-bibdata/ctan.pdf
+2023/06/07 | 3676 | graphics/asymptote/constructor.cc
+2023/06/07 | 366 | graphics/asymptote/doc/lineargraph0.asy
+2023/06/07 | 366 | graphics/asymptote/cudareflect/tinyexr.cc
+2023/06/07 | 3667 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aho_2006.txt.snap
+2023/06/07 | 3667 | graphics/asymptote/shaders.cc
+2023/06/07 | 365 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_simple.txt.snap
+2023/06/07 | 36540 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-printers.h
+2023/06/07 | 36526 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.cpp
+2023/06/07 | 3640 | graphics/asymptote/bbox3.h
+2023/06/07 | 363 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_simple.txt.snap
+2023/06/07 | 363 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/npm.md
+2023/06/07 | 36371 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.png
+2023/06/07 | 3634 | graphics/asymptote/GLTextures.h
+2023/06/07 | 3630 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
+2023/06/07 | 362 | graphics/asymptote/examples/pipeintersection.asy
+2023/06/07 | 36243 | graphics/asymptote/prc/test.cc
+2023/06/07 | 361 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_equation.txt.snap
+2023/06/07 | 361 | graphics/asymptote/GUI/res/icons/anchor.svg
+2023/06/07 | 361 | graphics/asymptote/examples/phase.asy
+2023/06/07 | 3616 | graphics/asymptote/GUI/UndoRedoStack.py
+2023/06/07 | 36152 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test_.cc
+2023/06/07 | 360 | graphics/asymptote/examples/washer.asy
+2023/06/07 | 3601 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-death-test_ex_test.cc
+2023/06/07 | 3601 | graphics/asymptote/cudareflect/tinyexr/test/exrcat/exrcat.cpp
+2023/06/07 | 35 | support/texlab/crates/parser/src/test_data/latex/structure/structure_siblings.txt
+2023/06/07 | 35 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_package.txt
+2023/06/07 | 35 | graphics/asymptote/base/fontsize.asy
+2023/06/07 | 3592 | graphics/asymptote/GUI/CustMatTransform.py
+2023/06/07 | 358 | support/texlab/crates/texlab/src/features/highlight.rs
+2023/06/07 | 3583 | graphics/asymptote/build-scripts/build-asymptote.dos
+2023/06/07 | 357 | graphics/asymptote/doc/irregularcontour.asy
+2023/06/07 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_definition_simple.txt.snap
+2023/06/07 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl_error.txt.snap
+2023/06/07 | 356 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_reference_simple.txt.snap
+2023/06/07 | 3567 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/pow10.h
+2023/06/07 | 3563 | graphics/asymptote/LspCpp/third_party/rapidjson/example/archiver/archiver.h
+2023/06/07 | 355 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_include.snap
+2023/06/07 | 355 | graphics/asymptote/LspCpp/third_party/rapidjson/library.json
+2023/06/07 | 355 | graphics/asymptote/doc/scaledgraph.asy
+2023/06/07 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest_main.pc.in
+2023/06/07 | 354 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock_main.pc.in
+2023/06/07 | 354 | graphics/asymptote/doc/reloadpdf.tex
+2023/06/07 | 354 | graphics/asymptote/doc/planes.asy
+2023/06/07 | 354 | graphics/asymptote/base/pstoedit.asy
+2023/06/07 | 3547800 | systems/texlive/tlnet/archive/latexindent.windows.r67296.tar.xz
+2023/06/07 | 3546 | support/texlab/crates/base-db/src/diagnostics/tex.rs
+2023/06/07 | 35461 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/misctest.cpp
+2023/06/07 | 352 | graphics/asymptote/examples/cylinder.asy
+2023/06/07 | 3526 | graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
+2023/06/07 | 35217 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-param-util.h
+2023/06/07 | 351 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_environment.snap
+2023/06/07 | 351 | graphics/asymptote/examples/vectorfieldsphere.asy
+2023/06/07 | 3517 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-pp_test.cc
+2023/06/07 | 35149 | support/texlab/LICENSE
+2023/06/07 | 35147 | graphics/asymptote/LICENSE
+2023/06/07 | 35087 | support/texlab/crates/parser/src/latex.rs
+2023/06/07 | 3500 | support/texlab/crates/texlab/src/util/components.rs
+2023/06/07 | 34 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_options.txt
+2023/06/07 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail17.json
+2023/06/07 | 34 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail15.json
+2023/06/07 | 34 | graphics/asymptote/examples/teapotIBL.asy
+2023/06/07 | 34 | graphics/asymptote/autogen.sh
+2023/06/07 | 349 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_simple.txt.snap
+2023/06/07 | 349 | graphics/asymptote/examples/logdown.asy
+2023/06/07 | 348 | graphics/asymptote/examples/RiemannSurface.asy
+2023/06/07 | 347 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_789.txt.snap
+2023/06/07 | 347 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/cmake/gmock.pc.in
+2023/06/07 | 3472 | graphics/asymptote/picture.h
+2023/06/07 | 3470 | graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
+2023/06/07 | 3467 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/webapp.json
+2023/06/07 | 3466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest_.cc
+2023/06/07 | 345 | graphics/asymptote/examples/rainbow.asy
+2023/06/07 | 344 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_simple.txt.snap
+2023/06/07 | 3441 | graphics/asymptote/rounding.h
+2023/06/07 | 343 | graphics/asymptote/doc/externalprc.tex
+2023/06/07 | 3437 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/dtoatest.cpp
+2023/06/07 | 34316 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.mm
+2023/06/07 | 342 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_star.txt.snap
+2023/06/07 | 342 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/community_created_documentation.md
+2023/06/07 | 342 | graphics/asymptote/lexical.h
+2023/06/07 | 341 | graphics/asymptote/examples/slidedemo_.bbl
+2023/06/07 | 341 | graphics/asymptote/examples/sacylinder3D.asy
+2023/06/07 | 341 | graphics/asymptote/doc/subpictures.asy
+2023/06/07 | 3419 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-matchers.h
+2023/06/07 | 3407 | graphics/asymptote/LspCpp/third_party/rapidjson/rapidjson.autopkg
+2023/06/07 | 33 | support/texlab/crates/parser/src/test_data/latex/graphics_path_options.txt
+2023/06/07 | 33 | support/texlab/crates/parser/src/test_data/latex/environment/environment_simple.txt
+2023/06/07 | 33 | support/texlab/crates/parser/src/test_data/latex/color/color_definition_simple.txt
+2023/06/07 | 33 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail22.json
+2023/06/07 | 339 | graphics/asymptote/cudareflect/tinyexr/test/CMakeLists.txt
+2023/06/07 | 3392 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_throw_on_failure_ex_test.cc
+2023/06/07 | 3387 | support/texlab/crates/texlab/tests/lsp/text_document/definition.rs
+2023/06/07 | 3383 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
+2023/06/07 | 33764 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/paragraphs.json
+2023/06/07 | 3375 | graphics/asymptote/tests/types/guide.asy
+2023/06/07 | 3374 | graphics/asymptote/base/roundedpath.asy
+2023/06/07 | 33741 | graphics/asymptote/LspCpp/src/lsp/Markup.cpp
+2023/06/07 | 33667 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-function-mocker_test.cc
+2023/06/07 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/patternProperties.json
+2023/06/07 | 3365 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/patternProperties.json
+2023/06/07 | 335 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/tiled_half_1x1_alpha.exr
+2023/06/07 | 3358 | graphics/asymptote/examples/slidedemo.asy
+2023/06/07 | 3349 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
+2023/06/07 | 33482 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-spec-builders.cc
+2023/06/07 | 3346 | graphics/asymptote/base/shaders/blend.glsl
+2023/06/07 | 33417 | graphics/asymptote/path.cc
+2023/06/07 | 333 | graphics/asymptote/doc/asy.1.end
+2023/06/07 | 3335 | graphics/asymptote/examples/pdb.asy
+2023/06/07 | 332 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__label_theorem_child_file.snap
+2023/06/07 | 332 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_simple.txt.snap
+2023/06/07 | 332 | support/texlab/Cargo.toml
+2023/06/07 | 3329 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
+2023/06/07 | 33296 | graphics/asymptote/LspCpp/third_party/uri/test/uri_test.cpp
+2023/06/07 | 33240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-matchers.h
+2023/06/07 | 3321 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
+2023/06/07 | 330 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets_with_group.txt.snap
+2023/06/07 | 32 | support/texlab/crates/parser/src/test_data/latex/graphics_path_command.txt
+2023/06/07 | 32 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_options.txt
+2023/06/07 | 32 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail21.json
+2023/06/07 | 3297 | graphics/asymptote/access.cc
+2023/06/07 | 3295 | graphics/asymptote/stack.h
+2023/06/07 | 3294 | graphics/asymptote/LspCpp/third_party/rapidjson/travis-doxygen.sh
+2023/06/07 | 32887 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.png
+2023/06/07 | 3284 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/trackball.h
+2023/06/07 | 3282 | graphics/asymptote/LspCpp/third_party/uri/CMakeLists.txt
+2023/06/07 | 3280 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_ex_test.cc
+2023/06/07 | 327 | graphics/asymptote/examples/sin1x.asy
+2023/06/07 | 327 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/piz-bug-issue-100.exr
+2023/06/07 | 3278 | graphics/asymptote/base/obj.asy
+2023/06/07 | 326 | graphics/asymptote/examples/polardatagraph.asy
+2023/06/07 | 326 | graphics/asymptote/examples/animations/pdfmovie.asy
+2023/06/07 | 3267 | graphics/asymptote/GUI/Widg_addLabel.py
+2023/06/07 | 3266 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/BUILD.bazel
+2023/06/07 | 3265 | graphics/asymptote/program.cc
+2023/06/07 | 325 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/listOverridableMethods.h
+2023/06/07 | 325 | graphics/asymptote/examples/elevation.asy
+2023/06/07 | 324 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_empty.txt.snap
+2023/06/07 | 324 | graphics/asymptote/doc/HermiteSpline.asy
+2023/06/07 | 3240 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-break-on-failure-unittest_.cc
+2023/06/07 | 323 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_empty.txt.snap
+2023/06/07 | 323 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/README.md
+2023/06/07 | 3231 | macros/unicodetex/latex/njuthesis/njuthesis.ins
+2023/06/07 | 3230 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_leak_test_.cc
+2023/06/07 | 322 | support/texlab/crates/test-utils/Cargo.toml
+2023/06/07 | 322 | graphics/asymptote/examples/unitcircle.asy
+2023/06/07 | 322 | graphics/asymptote/examples/cheese.asy
+2023/06/07 | 3223 | support/texlab/crates/texlab/src/client.rs
+2023/06/07 | 321 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_missing_brace.txt.snap
+2023/06/07 | 3219 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test_.cc
+2023/06/07 | 3218 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_test_utils.py
+2023/06/07 | 321584 | graphics/asymptote/base/geometry.asy
+2023/06/07 | 320 | graphics/asymptote/runtriple.h
+2023/06/07 | 320 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/Move.h
+2023/06/07 | 3204 | graphics/asymptote/asymptote.spec
+2023/06/07 | 31 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_full.txt
+2023/06/07 | 31 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_simple.txt
+2023/06/07 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail14.json
+2023/06/07 | 31 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail12.json
+2023/06/07 | 31 | graphics/asymptote/cudareflect/tinyexr/test/unit/win32-filelist-utf8.inc
+2023/06/07 | 319 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8bom.json
+2023/06/07 | 319839 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/miniz.c
+2023/06/07 | 3197 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_list_output_unittest_.cc
+2023/06/07 | 3194 | support/texlab/crates/parser/src/test_data/build_log/001.txt
+2023/06/07 | 318 | graphics/asymptote/patches/gcc3.3.2curses.patch
+2023/06/07 | 31899 | graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.tex
+2023/06/07 | 317 | graphics/asymptote/cudareflect/tinyexr/vcbuild.bat
+2023/06/07 | 316 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_incomplete.txt.snap
+2023/06/07 | 316 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/encodings/utf8.json
+2023/06/07 | 31609 | graphics/asymptote/config.sub
+2023/06/07 | 315 | graphics/asymptote/examples/hyperboloid.asy
+2023/06/07 | 315428 | systems/texlive/tlnet/archive/texshade.source.r67295.tar.xz
+2023/06/07 | 3153 | graphics/asymptote/genv.cc
+2023/06/07 | 3150 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
+2023/06/07 | 314 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_entry.snap
+2023/06/07 | 314 | support/texlab/crates/parser/src/test_data/bibtex/samples/aho_2006.txt
+2023/06/07 | 314 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-generated-actions.h
+2023/06/07 | 314 | graphics/asymptote/doc/logticks.asy
+2023/06/07 | 314 | graphics/asymptote/base/graph_settings.asy
+2023/06/07 | 314069 | macros/unicodetex/latex/njuthesis/njuthesis.dtx
+2023/06/07 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_864.snap
+2023/06/07 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_acronym.snap
+2023/06/07 | 3139 | graphics/asymptote/LspCpp/third_party/uri/test/uri_comparison_test.cpp
+2023/06/07 | 3139 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/dependencies.json
+2023/06/07 | 3135 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/exr2ldr.cc
+2023/06/07 | 31342 | graphics/asymptote/builtin.cc
+2023/06/07 | 312 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_missing_end.txt.snap
+2023/06/07 | 312 | graphics/asymptote/examples/textpath.asy
+2023/06/07 | 3125 | graphics/asymptote/doc/latexusage.tex
+2023/06/07 | 311 | graphics/asymptote/tests/Makefile
+2023/06/07 | 311 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/gtest.pc.in
+2023/06/07 | 3119 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filewritestream.h
+2023/06/07 | 3109 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example1.c
+2023/06/07 | 3100 | systems/texlive/tlnet/archive/censor.r67293.tar.xz
+2023/06/07 | 30 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_options.txt
+2023/06/07 | 30 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error2.txt
+2023/06/07 | 309 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/projectConfigurationUpdate.h
+2023/06/07 | 30920 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-more-actions.h
+2023/06/07 | 308 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__citation_inside_cite.snap
+2023/06/07 | 308 | graphics/asymptote/tests/types/shadow.asy
+2023/06/07 | 308 | graphics/asymptote/examples/oneoverx.asy
+2023/06/07 | 3078 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
+2023/06/07 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/optional/bignum.json
+2023/06/07 | 3075 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/optional/bignum.json
+2023/06/07 | 307261 | graphics/asymptote/configure
+2023/06/07 | 30716 | graphics/asymptote/LspCpp/src/lsp/lsp.cpp
+2023/06/07 | 306 | graphics/asymptote/doc/binarytreetest.asy
+2023/06/07 | 3069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-throw-on-failure-test_.cc
+2023/06/07 | 3063 | graphics/asymptote/LspCpp/third_party/uri/src/detail/grammar.hpp
+2023/06/07 | 30638 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/macro_map.h
+2023/06/07 | 3061 | support/texlab/crates/texlab/src/features/completion/tikz_library.rs
+2023/06/07 | 3060 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/CMakeLists.txt
+2023/06/07 | 3057 | support/texlab/crates/parser/src/test_data/build_log/004.txt
+2023/06/07 | 303 | graphics/asymptote/examples/tensor.asy
+2023/06/07 | 3036 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp11.cpp
+2023/06/07 | 3036 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/build.make
+2023/06/07 | 3034 | graphics/asymptote/doc/Makefile.in
+2023/06/07 | 30307 | graphics/asymptote/exp.h
+2023/06/07 | 302816 | graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.pdf
+2023/06/07 | 3027 | support/texlab/crates/commands/src/fwd_search.rs
+2023/06/07 | 3025 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-assertion-result.cc
+2023/06/07 | 3025 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/allOf.json
+2023/06/07 | 3024 | graphics/asymptote/drawimage.h
+2023/06/07 | 30208 | graphics/asymptote/prc/PRC.h
+2023/06/07 | 301 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/organizeImports.h
+2023/06/07 | 301 | graphics/asymptote/base/shaders/count.glsl
+2023/06/07 | 30147 | graphics/asymptote/getopt.c
+2023/06/07 | 3011 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock_main.cc
+2023/06/07 | 300 | graphics/asymptote/examples/strokepath.asy
+2023/06/07 | 3009 | support/texlab/crates/texlab/tests/lsp/text_document/formatting.rs
+2023/06/07 | 3009 | support/texlab/crates/parser/src/config.rs
+2023/06/07 | 30003 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/alotofkeys.json
+2023/06/07 | 2 | support/texlab/crates/parser/src/test_data/latex/parameter.txt
+2023/06/07 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_brackets.txt
+2023/06/07 | 2 | support/texlab/crates/parser/src/test_data/latex/group/unmatched_braces.txt
+2023/06/07 | 2 | support/texlab/crates/parser/src/test_data/latex/generic_command_escape.txt
+2023/06/07 | 2 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/progress.marks
+2023/06/07 | 2 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/progress.marks
+2023/06/07 | 29 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_simple.txt
+2023/06/07 | 29 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_optional.txt
+2023/06/07 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail25.json
+2023/06/07 | 29 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail11.json
+2023/06/07 | 299 | graphics/asymptote/runpair.h
+2023/06/07 | 2996 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+2023/06/07 | 29900 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/faq.md
+2023/06/07 | 298 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-5ace655ef080932dcc7e4abc9eab1d4f82c845453464993dfa3eb6c5822a1621
+2023/06/07 | 2989 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/dependencies.json
+2023/06/07 | 2982 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.h
+2023/06/07 | 297 | graphics/asymptote/build-scripts/README-binaries
+2023/06/07 | 2979 | graphics/asymptote/doc/diatom.asy
+2023/06/07 | 2974 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/filereadstream.h
+2023/06/07 | 2969 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/ieee754.h
+2023/06/07 | 2964 | graphics/asymptote/access.h
+2023/06/07 | 2960 | graphics/asymptote/material.h
+2023/06/07 | 2960 | graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+2023/06/07 | 296015 | graphics/pgf/contrib/tikz-nfold.zip
+2023/06/07 | 295 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_empty.txt.snap
+2023/06/07 | 294 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/classFileContents.h
+2023/06/07 | 294 | graphics/asymptote/guideflags.h
+2023/06/07 | 2948 | graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
+2023/06/07 | 29479 | support/texlab/CHANGELOG.md
+2023/06/07 | 2941 | graphics/asymptote/GUI/windows/widg_addPolyOpt.ui
+2023/06/07 | 293 | graphics/asymptote/doc/makepen.asy
+2023/06/07 | 2939 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/CommonWindowInterface.h
+2023/06/07 | 29242 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodings.h
+2023/06/07 | 29203 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_for_dummies.md
+2023/06/07 | 291 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace_multiple.snap
+2023/06/07 | 291 | graphics/asymptote/examples/trumpet.asy
+2023/06/07 | 29193 | graphics/asymptote/LspCpp/src/lsp/ProtocolJsonHandler.cpp
+2023/06/07 | 2915 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_sass/main.scss
+2023/06/07 | 2901 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/json.h
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/include/package_include_multiple.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_simple.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/group/equation_missing_end.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/graphics_path.txt
+2023/06/07 | 28 | support/texlab/crates/parser/src/test_data/latex/equation_missing_begin.txt
+2023/06/07 | 28 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/requirements.txt
+2023/06/07 | 289 | graphics/asymptote/examples/jump.asy
+2023/06/07 | 289 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/README.md
+2023/06/07 | 289 | graphics/asymptote/base/res/notes.txt
+2023/06/07 | 2899 | support/texlab/crates/test-utils/src/fixture.rs
+2023/06/07 | 288 | graphics/asymptote/examples/sacone3D.asy
+2023/06/07 | 288 | graphics/asymptote/doc/mexicanhat.asy
+2023/06/07 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/properties.json
+2023/06/07 | 2881 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/properties.json
+2023/06/07 | 2880 | graphics/asymptote/drawgroup.h
+2023/06/07 | 2879 | graphics/asymptote/statistics.h
+2023/06/07 | 287695 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-matchers_test.cc
+2023/06/07 | 2868 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/semanticHighlighting.h
+2023/06/07 | 28512 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
+2023/06/07 | 284 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/Config.cmake.in
+2023/06/07 | 284 | graphics/asymptote/GUI/res/icons/text.svg
+2023/06/07 | 283 | support/texlab/crates/texlab/src/features/completion/begin_snippet.rs
+2023/06/07 | 283 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/test.c
+2023/06/07 | 2832 | support/texlab/crates/texlab/src/features/completion/label.rs
+2023/06/07 | 2830 | graphics/asymptote/examples/alignedaxis.asy
+2023/06/07 | 28278 | graphics/asymptote/symbolmaps.h
+2023/06/07 | 282668 | macros/latex/contrib/examz.zip
+2023/06/07 | 2814 | graphics/asymptote/LspCpp/third_party/rapidjson/example/messagereader/messagereader.cpp
+2023/06/07 | 2813 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test2-test.cc
+2023/06/07 | 28114 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-internal-utils_test.cc
+2023/06/07 | 2804 | graphics/asymptote/LspCpp/src/jsonrpc/message.cpp
+2023/06/07 | 2800 | graphics/asymptote/doc/asycolors.sty
+2023/06/07 | 27 | support/texlab/crates/parser/src/test_data/latex/structure/structure_invalid_nesting.txt
+2023/06/07 | 27 | support/texlab/crates/parser/src/test_data/latex/include/verbatim_include_simple.txt
+2023/06/07 | 27 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default.txt
+2023/06/07 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_command_definition.snap
+2023/06/07 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_simple.snap
+2023/06/07 | 279 | graphics/asymptote/doc/hatch.asy
+2023/06/07 | 27958 | graphics/asymptote/pen.h
+2023/06/07 | 278 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_open_brace.snap
+2023/06/07 | 2788447 | biblio/ctan-bibdata/ctan.bib
+2023/06/07 | 2787 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_action.h
+2023/06/07 | 277 | graphics/asymptote/LspCpp/src/jsonrpc/GCThreadContext.cpp
+2023/06/07 | 277 | graphics/asymptote/doc/generalaxis.asy
+2023/06/07 | 2776 | graphics/asymptote/symbol.h
+2023/06/07 | 2772 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_common.c
+2023/06/07 | 2771 | graphics/asymptote/doc/pixel.pdf
+2023/06/07 | 276 | graphics/asymptote/tests/bench/6000circles.asy
+2023/06/07 | 2766 | graphics/asymptote/lnkX64IconFix.nsh
+2023/06/07 | 2749 | support/texlab/crates/parser/src/latex/lexer/types.rs
+2023/06/07 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalProperties.json
+2023/06/07 | 2745 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalProperties.json
+2023/06/07 | 2741 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/findOpenGLGlewGlut.lua
+2023/06/07 | 273 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_command.snap
+2023/06/07 | 273602 | macros/latex/contrib/examz/examz.pdf
+2023/06/07 | 2732 | graphics/asymptote/record.h
+2023/06/07 | 2731 | graphics/asymptote/tests/types/resolve.asy
+2023/06/07 | 272 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__string_inside_reference.snap
+2023/06/07 | 2729 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
+2023/06/07 | 2721 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/strfunc.h
+2023/06/07 | 271 | support/texlab/crates/parser/src/test_data/latex/issue_745.txt
+2023/06/07 | 271 | graphics/asymptote/patches/gc6.8_AIX.patch
+2023/06/07 | 2707 | graphics/asymptote/settings.h
+2023/06/07 | 2707 | graphics/asymptote/runtriple.in
+2023/06/07 | 270390 | graphics/asymptote/cudareflect/tinyexr/tinyexr.h
+2023/06/07 | 26 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
+2023/06/07 | 26 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_no_impl.txt
+2023/06/07 | 26 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default_error.txt
+2023/06/07 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail7.json
+2023/06/07 | 26 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail6.json
+2023/06/07 | 26 | graphics/asymptote/doc/filegraph.dat
+2023/06/07 | 26 | graphics/asymptote/_config.yml
+2023/06/07 | 269 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace.snap
+2023/06/07 | 269 | graphics/asymptote/runmath.h
+2023/06/07 | 2697 | graphics/asymptote/table.h
+2023/06/07 | 268 | graphics/asymptote/base/asy-init.el
+2023/06/07 | 2688 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
+2023/06/07 | 26844 | graphics/asymptote/runpath.cc
+2023/06/07 | 2682 | graphics/asymptote/LspCpp/third_party/uri/test/uri_reference_test.cpp
+2023/06/07 | 26817 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/writer.h
+2023/06/07 | 2680 | graphics/asymptote/examples/soccerball.asy
+2023/06/07 | 26804587 | graphics/asymptote.zip
+2023/06/07 | 267 | graphics/asymptote/examples/hyperboloidsilhouette.asy
+2023/06/07 | 2675 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example4.c
+2023/06/07 | 2674 | graphics/asymptote/doc/markers1.asy
+2023/06/07 | 26693 | graphics/asymptote/dec.cc
+2023/06/07 | 2665 | support/texlab/crates/citeproc/src/field/date.rs
+2023/06/07 | 2662 | graphics/asymptote/LspCpp/third_party/rapidjson/appveyor.yml
+2023/06/07 | 2661 | graphics/asymptote/runbacktrace.cc
+2023/06/07 | 265 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_empty.snap
+2023/06/07 | 2653 | graphics/asymptote/doc/TeXShopAndAsymptote.tex
+2023/06/07 | 264 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_simple.snap
+2023/06/07 | 264 | graphics/asymptote/LspCpp/include/LibLsp/lsp/Directory.h
+2023/06/07 | 264 | graphics/asymptote/examples/labelbox.asy
+2023/06/07 | 264 | graphics/asymptote/examples/coag.asy
+2023/06/07 | 2649 | graphics/asymptote/base/patterns.asy
+2023/06/07 | 2642 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorystream.h
+2023/06/07 | 26404 | support/texlab/texlab.pdf
+2023/06/07 | 263 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
+2023/06/07 | 2631 | graphics/asymptote/GUI/windows/setCustomAnchor.ui
+2023/06/07 | 262 | graphics/asymptote/doc/loggraph.asy
+2023/06/07 | 2626 | graphics/asymptote/examples/worldmap.asy
+2023/06/07 | 2623 | graphics/asymptote/jsfile.h
+2023/06/07 | 261 | graphics/asymptote/doc/join.asy
+2023/06/07 | 261756 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_unittest.cc
+2023/06/07 | 2615 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
+2023/06/07 | 2614 | graphics/asymptote/pipestream.h
+2023/06/07 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/uniqueItems.json
+2023/06/07 | 2613 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/uniqueItems.json
+2023/06/07 | 2611 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_cpp17.cpp
+2023/06/07 | 2610 | support/texlab/crates/symbols/src/types.rs
+2023/06/07 | 26102 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/regex.h
+2023/06/07 | 260 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageProducer.h
+2023/06/07 | 2608 | graphics/asymptote/LspCpp/third_party/uri/deps/ci/macos-presubmit.sh
+2023/06/07 | 2605 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/premake4.lua
+2023/06/07 | 260289 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image.h
+2023/06/07 | 26025250 | systems/texlive/tlnet/install-tl.zip
+2023/06/07 | 25 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_options.txt
+2023/06/07 | 25 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error3.txt
+2023/06/07 | 25 | support/texlab/crates/parser/src/test_data/bibtex/preamble.txt
+2023/06/07 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/integer.json
+2023/06/07 | 25 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/folder/folderInteger.json
+2023/06/07 | 25 | graphics/asymptote/cudareflect/tinyexr/experimental/js/Makefile
+2023/06/07 | 2598 | graphics/asymptote/cudareflect/simpson.cuh
+2023/06/07 | 2591 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/extends.json
+2023/06/07 | 2586 | support/texlab/texlab.tex
+2023/06/07 | 2586 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_symbol__smoke.snap
+2023/06/07 | 257 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_class.snap
+2023/06/07 | 2578 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_scheme_test.cpp
+2023/06/07 | 2576 | support/texlab/crates/texlab/src/server/extensions.rs
+2023/06/07 | 2576 | graphics/asymptote/LspCpp/third_party/rapidjson/example/capitalize/capitalize.cpp
+2023/06/07 | 25701 | graphics/asymptote/runpath3d.cc
+2023/06/07 | 256 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/footer.html
+2023/06/07 | 256 | graphics/asymptote/doc/shadedtiling.asy
+2023/06/07 | 25651 | graphics/asymptote/bezierpatch.cc
+2023/06/07 | 2561 | graphics/asymptote/program.h
+2023/06/07 | 255 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_end.snap
+2023/06/07 | 25584 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
+2023/06/07 | 2555 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindTSan.cmake
+2023/06/07 | 2554 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/ldr2exr.cc
+2023/06/07 | 25503 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-function-mocker.h
+2023/06/07 | 254 | graphics/asymptote/examples/parametricelevation.asy
+2023/06/07 | 254 | graphics/asymptote/examples/contextfonts.asy
+2023/06/07 | 2543 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.h
+2023/06/07 | 2542 | graphics/asymptote/policy.h
+2023/06/07 | 25357 | graphics/asymptote/base/lmfit.asy
+2023/06/07 | 2534 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/memorybuffer.h
+2023/06/07 | 25284 | support/texlab/crates/texlab/src/features/completion/builder.rs
+2023/06/07 | 2526 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+2023/06/07 | 252536 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest.cc
+2023/06/07 | 251 | graphics/asymptote/examples/triceratops.asy
+2023/06/07 | 251 | graphics/asymptote/base/metapost.asy
+2023/06/07 | 2518 | graphics/asymptote/prc/PRCbitStream.h
+2023/06/07 | 2515 | support/texlab/crates/parser/src/test_data/build_log/003.txt
+2023/06/07 | 25154 | graphics/asymptote/doc/extra/intro.asy
+2023/06/07 | 2514 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/MacOpenGLWindow.h
+2023/06/07 | 2514 | graphics/asymptote/cudareflect/EXRFiles.cc
+2023/06/07 | 250 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__theorem_begin.snap
+2023/06/07 | 250 | graphics/asymptote/examples/transparentCubes.asy
+2023/06/07 | 2505 | graphics/asymptote/README
+2023/06/07 | 2505 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-color-test_.cc
+2023/06/07 | 2505 | graphics/asymptote/binaries/x86_64-windows/README
+2023/06/07 | 2505 | graphics/asymptote/binaries/i386-windows/README
+2023/06/07 | 2504 | graphics/asymptote/examples/mosquito.asy
+2023/06/07 | 24 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_simple.txt
+2023/06/07 | 24 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail5.json
+2023/06/07 | 24 | graphics/asymptote/doc/diagonal.asy
+2023/06/07 | 2499 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_prod.h
+2023/06/07 | 2499 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
+2023/06/07 | 2496 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test.py
+2023/06/07 | 2495 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test.py
+2023/06/07 | 2492 | graphics/asymptote/base/three_margins.asy
+2023/06/07 | 24924 | graphics/asymptote/examples/uhrturm.obj
+2023/06/07 | 248 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
+2023/06/07 | 248 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.h
+2023/06/07 | 247 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
+2023/06/07 | 2479 | graphics/asymptote/cudareflect/tinyexr/CMakeLists.txt
+2023/06/07 | 2477 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
+2023/06/07 | 2477 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/SConstruct
+2023/06/07 | 24777 | graphics/asymptote/symbolmaps.cc
+2023/06/07 | 2471 | graphics/asymptote/build-scripts/build-asymptote
+2023/06/07 | 24712 | graphics/asymptote/drawsurface.cc
+2023/06/07 | 2470 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.cc
+2023/06/07 | 246 | graphics/asymptote/doc/axis3.asy
+2023/06/07 | 2467 | support/texlab/crates/distro/src/miktex.rs
+2023/06/07 | 245 | graphics/asymptote/examples/alignbox.asy
+2023/06/07 | 2459 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+2023/06/07 | 2455 | support/texlab/crates/parser/src/test_data/build_log/002.txt
+2023/06/07 | 2453392 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/06/07 | 2451 | graphics/asymptote/base/labelpath3.asy
+2023/06/07 | 244 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_brackets.txt.snap
+2023/06/07 | 244 | graphics/asymptote/tests/arith/triple.asy
+2023/06/07 | 24483 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-json-output-unittest.py
+2023/06/07 | 24474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-listener-test.cc
+2023/06/07 | 2445 | graphics/asymptote/GUI/PrimitiveShape.py
+2023/06/07 | 243 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/WorkspaceSymbolParams.h
+2023/06/07 | 243 | graphics/asymptote/doc/cube.asy
+2023/06/07 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@hello_world.txt.snap
+2023/06/07 | 242 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__unmatched_braces.txt.snap
+2023/06/07 | 242 | graphics/asymptote/examples/equilateral.asy
+2023/06/07 | 242 | graphics/asymptote/cudareflect/tinyexr/appveyor.yml
+2023/06/07 | 242 | graphics/asymptote/BUGS
+2023/06/07 | 2424 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/WebSocketServer.h
+2023/06/07 | 241 | graphics/asymptote/cudareflect/common.h
+2023/06/07 | 2418 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/MessageJsonHandler.h
+2023/06/07 | 2411 | support/texlab/crates/texlab/src/server/dispatch.rs
+2023/06/07 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_check_output_test.py
+2023/06/07 | 2411 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_json_test_utils.py
+2023/06/07 | 24104 | graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
+2023/06/07 | 240 | graphics/asymptote/doc/parametricgraph.asy
+2023/06/07 | 2407 | graphics/asymptote/LspCpp/include/LibLsp/lsp/windows/MessageNotify.h
+2023/06/07 | 2404 | graphics/asymptote/common.h
+2023/06/07 | 24043 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
+2023/06/07 | 2403 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_no_test_unittest.cc
+2023/06/07 | 2400 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test.py
+2023/06/07 | 23 | support/texlab/crates/parser/src/test_data/latex/include/class_include_simple.txt
+2023/06/07 | 23 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_simple.txt
+2023/06/07 | 23 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail20.json
+2023/06/07 | 23 | graphics/asymptote/GUI/__init__.py
+2023/06/07 | 2398 | graphics/asymptote/examples/SierpinskiSponge.asy
+2023/06/07 | 2396 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.h
+2023/06/07 | 2396 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/namespacetest.cpp
+2023/06/07 | 23904 | graphics/asymptote/process.cc
+2023/06/07 | 238 | graphics/asymptote/tests/TestLib.asy
+2023/06/07 | 238 | graphics/asymptote/GUI/xasyValidator.py
+2023/06/07 | 238 | graphics/asymptote/doc/filegraph.asy
+2023/06/07 | 2378 | graphics/asymptote/profile.py
+2023/06/07 | 23717 | graphics/asymptote/base/three_arrows.asy
+2023/06/07 | 236 | graphics/asymptote/tests/string/erase.asy
+2023/06/07 | 236 | graphics/asymptote/examples/annotation.asy
+2023/06/07 | 2362 | graphics/asymptote/examples/spectrum.asy
+2023/06/07 | 2360 | support/texlab/crates/symbols/src/workspace/tests.rs
+2023/06/07 | 235 | graphics/asymptote/examples/cos2theta.asy
+2023/06/07 | 235 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.frag
+2023/06/07 | 235780 | systems/texlive/tlnet/archive/censor.doc.r67293.tar.xz
+2023/06/07 | 23567 | graphics/asymptote/drawsurface.h
+2023/06/07 | 2355 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test.py
+2023/06/07 | 2353 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
+2023/06/07 | 234 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__field_known.snap
+2023/06/07 | 234 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@comment.txt.snap
+2023/06/07 | 234 | graphics/asymptote/doc/beziercurve.asy
+2023/06/07 | 2341 | graphics/asymptote/prc/PRCTools/iPRCFile.h
+2023/06/07 | 233 | graphics/asymptote/examples/cardioid.asy
+2023/06/07 | 2335 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_all_test.cc
+2023/06/07 | 2333 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake
+2023/06/07 | 2328 | graphics/asymptote/virtualfieldaccess.h
+2023/06/07 | 2328 | graphics/asymptote/LspCpp/third_party/uri/README.rst
+2023/06/07 | 23281 | macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
+2023/06/07 | 2319 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_layouts/default.html
+2023/06/07 | 2313 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+2023/06/07 | 2310 | graphics/asymptote/base/plain_margins.asy
+2023/06/07 | 2303 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/ostreamwrapper.h
+2023/06/07 | 22 | support/texlab/crates/parser/src/test_data/latex/include/bibtex_include_simple.txt
+2023/06/07 | 22 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_argc.txt
+2023/06/07 | 22 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal.txt
+2023/06/07 | 22 | graphics/asymptote/tests/output/line.asy
+2023/06/07 | 22 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/progress.make
+2023/06/07 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail9.json
+2023/06/07 | 22 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail19.json
+2023/06/07 | 22 | graphics/asymptote/GUI/configs/__init__.py
+2023/06/07 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/RapidJSON.pc.in
+2023/06/07 | 229 | graphics/asymptote/LspCpp/third_party/rapidjson/docker/debian/Dockerfile
+2023/06/07 | 2295920 | macros/latex/contrib/tagpdf.zip
+2023/06/07 | 22946 | graphics/asymptote/base/syzygy.asy
+2023/06/07 | 2292 | support/texlab/crates/texlab/src/features/rename/entry.rs
+2023/06/07 | 2292 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindMSan.cmake
+2023/06/07 | 228 | graphics/asymptote/examples/circumcircle.asy
+2023/06/07 | 2289 | graphics/asymptote/LspCpp/src/lsp/lsp_diagnostic.cpp
+2023/06/07 | 22873 | graphics/asymptote/examples/piicon.png
+2023/06/07 | 2286 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-global-environment-unittest_.cc
+2023/06/07 | 2282 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-test.h
+2023/06/07 | 2282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/additionalItems.json
+2023/06/07 | 2281 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
+2023/06/07 | 227 | support/texlab/crates/syntax/Cargo.toml
+2023/06/07 | 227 | support/texlab/crates/distro/Cargo.toml
+2023/06/07 | 227 | support/texlab/crates/base-db/src/util.rs
+2023/06/07 | 2279 | graphics/asymptote/errormsg.cc
+2023/06/07 | 2277 | graphics/asymptote/base/texcolors.asy
+2023/06/07 | 2276 | graphics/asymptote/prc/PRCTools/inflation.cc
+2023/06/07 | 2272 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/rgbe2exr.cc
+2023/06/07 | 226 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_package_ref.snap
+2023/06/07 | 2269 | graphics/asymptote/build-scripts/HOWTO-MSWindows
+2023/06/07 | 2266 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/not.json
+2023/06/07 | 2266 | graphics/asymptote/align.h
+2023/06/07 | 22663 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-param-test.h
+2023/06/07 | 2265 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test.py
+2023/06/07 | 22642 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filepath-test.cc
+2023/06/07 | 2260 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample2.cc
+2023/06/07 | 2260 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/cursorstreamwrapper.h
+2023/06/07 | 22580 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
+2023/06/07 | 2257 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/additionalItems.json
+2023/06/07 | 2255 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplepullreader/simplepullreader.cpp
+2023/06/07 | 22526 | graphics/asymptote/LspCpp/third_party/uri/test/uri_builder_test.cpp
+2023/06/07 | 224 | graphics/asymptote/tests/types/init.asy
+2023/06/07 | 2245 | graphics/asymptote/LspCpp/third_party/rapidjson/example/prettyauto/prettyauto.cpp
+2023/06/07 | 22426 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.md
+2023/06/07 | 223 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple.snap
+2023/06/07 | 223 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveCodeLens.h
+2023/06/07 | 223 | graphics/asymptote/cudareflect/tinyexr/jni/Android.mk
+2023/06/07 | 2239 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_all_test.cc
+2023/06/07 | 2239 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/insituparsing.dot
+2023/06/07 | 22345 | graphics/asymptote/knot.cc
+2023/06/07 | 2230 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_environment_check_output_test.py
+2023/06/07 | 222 | graphics/asymptote/wce
+2023/06/07 | 222 | graphics/asymptote/examples/yingyang.asy
+2023/06/07 | 2223 | graphics/asymptote/LspCpp/third_party/uri/deps/CONTRIBUTORS
+2023/06/07 | 2222 | graphics/asymptote/tests/frames/loop.asy
+2023/06/07 | 22210 | support/texlab/crates/citeproc/src/driver.rs
+2023/06/07 | 221591 | info/spanish/antique-spanish-units/antique-spanish-units.pdf
+2023/06/07 | 22121 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.md
+2023/06/07 | 2205 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RequestInMessage.h
+2023/06/07 | 2201 | support/texlab/crates/base-db/src/diagnostics/log.rs
+2023/06/07 | 2201 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-all.cc
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_counter.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/label/label_number.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/inline_double_dollar.txt
+2023/06/07 | 21 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal_error.txt
+2023/06/07 | 219 | graphics/asymptote/doc/penimage.asy
+2023/06/07 | 219 | graphics/asymptote/doc/graphwithderiv.asy
+2023/06/07 | 21998 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri.hpp
+2023/06/07 | 21956 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/internals.zh-cn.md
+2023/06/07 | 2194 | graphics/asymptote/locate.cc
+2023/06/07 | 2191 | graphics/asymptote/examples/splitpatch.asy
+2023/06/07 | 218 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProtocolJsonHandler.h
+2023/06/07 | 218 | graphics/asymptote/doc/datagraph.asy
+2023/06/07 | 2187 | graphics/asymptote/base/plain_debugger.asy
+2023/06/07 | 21874 | graphics/asymptote/runmath.cc
+2023/06/07 | 2182 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
+2023/06/07 | 2182 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/documentColor.h
+2023/06/07 | 217 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/GCThreadContext.h
+2023/06/07 | 2175 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_sole_header_test.cc
+2023/06/07 | 2175 | graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/LICENSE
+2023/06/07 | 216 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_empty.txt.snap
+2023/06/07 | 2164 | graphics/asymptote/frame.h
+2023/06/07 | 2161 | graphics/asymptote/LspCpp/include/LibLsp/lsp/working_files.h
+2023/06/07 | 215 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_escape.txt.snap
+2023/06/07 | 21546 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/tutorial.zh-cn.md
+2023/06/07 | 21535 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/assertions.md
+2023/06/07 | 2151 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+2023/06/07 | 21493 | graphics/asymptote/lspserv.cc
+2023/06/07 | 2147 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_prod_test.cc
+2023/06/07 | 2146 | graphics/asymptote/abs3doutfile.h
+2023/06/07 | 21466 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-filter-unittest.py
+2023/06/07 | 2144 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindASan.cmake
+2023/06/07 | 21448 | graphics/asymptote/base/feynman.asy
+2023/06/07 | 2143 | support/texlab/crates/texlab/src/features/folding.rs
+2023/06/07 | 2142 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/negative.cpp
+2023/06/07 | 2138 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name2-test_.cc
+2023/06/07 | 2134 | graphics/asymptote/drawlabel.h
+2023/06/07 | 21343 | graphics/asymptote/fileio.h
+2023/06/07 | 2132 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.h
+2023/06/07 | 2130 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.h
+2023/06/07 | 212 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__hover__section.snap
+2023/06/07 | 21276 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.md
+2023/06/07 | 21271 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/documenttest.cpp
+2023/06/07 | 21271 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
+2023/06/07 | 212087 | info/spanish/antique-spanish-units.zip
+2023/06/07 | 211 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_word.snap
+2023/06/07 | 2115 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
+2023/06/07 | 2113 | graphics/asymptote/LspCpp/third_party/utfcpp/samples/docsample.cpp
+2023/06/07 | 2110 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4.cc
+2023/06/07 | 210 | graphics/asymptote/examples/spiral.asy
+2023/06/07 | 210 | graphics/asymptote/build-scripts/asy-indent.el
+2023/06/07 | 2109 | graphics/asymptote/seconds.h
+2023/06/07 | 2109 | graphics/asymptote/base/drawtree.asy
+2023/06/07 | 2107 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-all.cc
+2023/06/07 | 21034314 | systems/texlive/tlnet/install-tl-windows.exe
+2023/06/07 | 2101 | graphics/asymptote/examples/truncatedIcosahedron.asy
+2023/06/07 | 2100 | graphics/asymptote/LspCpp/third_party/uri/src/detail/algorithm.hpp
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_simple.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/include/tikz_library_import_simple.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/include/package_include_simple.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/include/latex_input_path_brackets.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_simple.txt
+2023/06/07 | 20 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote_postnote.txt
+2023/06/07 | 20 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail23.json
+2023/06/07 | 20989 | graphics/asymptote/base/plain_bounds.asy
+2023/06/07 | 20974 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/mocking.md
+2023/06/07 | 2094 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-printers.h
+2023/06/07 | 20942 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/build.make
+2023/06/07 | 209230 | graphics/asymptote/asy.list
+2023/06/07 | 208908 | graphics/asymptote/doc/asy-latex.pdf
+2023/06/07 | 2088 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_help_test_.cc
+2023/06/07 | 20829 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/issue-77-heap-buffer-overflow
+2023/06/07 | 20816 | graphics/asymptote/runtime.in
+2023/06/07 | 207 | graphics/asymptote/examples/triangle.asy
+2023/06/07 | 207686 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-matchers.h
+2023/06/07 | 2074 | support/texlab/crates/citeproc/src/field/author.rs
+2023/06/07 | 2073 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+2023/06/07 | 206 | graphics/asymptote/examples/log.asy
+2023/06/07 | 2069 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_in_environment_setup_test.cc
+2023/06/07 | 2068 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
+2023/06/07 | 20639 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_output_unittest.py
+2023/06/07 | 205 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
+2023/06/07 | 205495 | graphics/asymptote/base/colormap.asy
+2023/06/07 | 2053 | graphics/asymptote/LspCpp/third_party/uri/test/test_uri.hpp
+2023/06/07 | 2045 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/clzll.h
+2023/06/07 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
+2023/06/07 | 2040 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/X11OpenGLWindow.h
+2023/06/07 | 2035 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+2023/06/07 | 2034 | graphics/asymptote/doc/elliptic.asy
+2023/06/07 | 2033 | graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
+2023/06/07 | 202 | graphics/asymptote/tests/frames/stat2.asy
+2023/06/07 | 202 | graphics/asymptote/glew.c
+2023/06/07 | 202 | graphics/asymptote/doc/exp.asy
+2023/06/07 | 202 | graphics/asymptote/build-scripts/run-in-indent.el
+2023/06/07 | 202947 | graphics/asymptote/cudareflect/tinyexr/asakusa.png
+2023/06/07 | 20277 | graphics/asymptote/base/contour.asy
+2023/06/07 | 2023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-param-test-invalid-name1-test_.cc
+2023/06/07 | 2023 | graphics/asymptote/examples/slope.asy
+2023/06/07 | 2013 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsResponseMessage.h
+2023/06/07 | 20135 | graphics/asymptote/runpicture.in
+2023/06/07 | 2012 | graphics/asymptote/varinit.h
+2023/06/07 | 20123 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/reference/matchers.md
+2023/06/07 | 2011 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/asan-wrapper
+2023/06/07 | 2009 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
+2023/06/07 | 2005 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_skip_test.cc
+2023/06/07 | 20051 | graphics/asymptote/doc/asyRefCard.tex
+2023/06/07 | 2004 | graphics/asymptote/varinit.cc
+2023/06/07 | 20029 | graphics/asymptote/camp.y
+2023/06/07 | 20010 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_data/utf8_invalid.txt
+2023/06/07 | 1 | support/texlab/crates/parser/src/test_data/latex/parameter_error.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_error.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_line_break.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/issue_789.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/inline.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/include/pgf_library_import_simple.txt
+2023/06/07 | 19 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_simple.txt
+2023/06/07 | 199 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/progress.make
+2023/06/07 | 199 | graphics/asymptote/examples/upint.asy
+2023/06/07 | 199 | graphics/asymptote/examples/BezierTriangle.asy
+2023/06/07 | 1997 | support/texlab/crates/distro/src/lib.rs
+2023/06/07 | 19967 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/sax.zh-cn.md
+2023/06/07 | 1995 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample4_unittest.cc
+2023/06/07 | 198 | graphics/asymptote/examples/tanh.asy
+2023/06/07 | 198488 | graphics/asymptote/doc/CAD.pdf
+2023/06/07 | 1982 | graphics/asymptote/inst.h
+2023/06/07 | 1980 | support/texlab/crates/symbols/src/document/bib.rs
+2023/06/07 | 197 | support/texlab/crates/texlab/src/features.rs
+2023/06/07 | 1977 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-port_test.cc
+2023/06/07 | 1975 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/enum.json
+2023/06/07 | 1975 | graphics/asymptote/array.h
+2023/06/07 | 19752 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/uri.h
+2023/06/07 | 19735 | graphics/asymptote/base/plain_arrows.asy
+2023/06/07 | 1971 | graphics/asymptote/base/slopefield.asy
+2023/06/07 | 196 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
+2023/06/07 | 196 | graphics/asymptote/examples/lowint.asy
+2023/06/07 | 196 | graphics/asymptote/examples/label3ribbon.asy
+2023/06/07 | 196 | graphics/asymptote/examples/animations/embeddedu3d.asy
+2023/06/07 | 1968 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest_main.cc
+2023/06/07 | 1968 | graphics/asymptote/examples/mergeExample.asy
+2023/06/07 | 1964 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/enum.json
+2023/06/07 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/refRemote.json
+2023/06/07 | 1961 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/refRemote.json
+2023/06/07 | 19604 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.h
+2023/06/07 | 19597 | graphics/asymptote/doc/external-proposal.html
+2023/06/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile2_test_.cc
+2023/06/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_xml_outfile1_test_.cc
+2023/06/07 | 1955 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test2_test.cc
+2023/06/07 | 1955 | graphics/asymptote/cudareflect/tinyexr/experimental/js/binding.cc
+2023/06/07 | 1953 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-port.h
+2023/06/07 | 1950 | graphics/asymptote/cudareflect/utils.cuh
+2023/06/07 | 1950 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/testmapgen.cc
+2023/06/07 | 194 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_preamble.snap
+2023/06/07 | 1949 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-setuptestsuite-test_.cc
+2023/06/07 | 19479 | graphics/asymptote/psfile.cc
+2023/06/07 | 19462 | graphics/asymptote/patches/gl-matrix-2.4.0-pruned.patch
+2023/06/07 | 193 | graphics/asymptote/tests/gc/shipout.asy
+2023/06/07 | 193 | graphics/asymptote/tests/arith/random.asy
+2023/06/07 | 1936 | graphics/asymptote/refaccess.h
+2023/06/07 | 1936 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/disallow.json
+2023/06/07 | 19321 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodingstest.cpp
+2023/06/07 | 192 | graphics/asymptote/base/shaders/zero.glsl
+2023/06/07 | 1927 | graphics/asymptote/tests/array/fields.asy
+2023/06/07 | 1927 | graphics/asymptote/prc/PRCTools/bitSearchDouble.cc
+2023/06/07 | 1925 | graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
+2023/06/07 | 1923 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_testbridge_test_.cc
+2023/06/07 | 1922 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap
+2023/06/07 | 1921 | support/texlab/crates/base-db/src/diagnostics/bib.rs
+2023/06/07 | 191 | graphics/asymptote/runpicture.h
+2023/06/07 | 1919 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/samples/sample1.h
+2023/06/07 | 1919 | graphics/asymptote/examples/animations/earthmoon.asy
+2023/06/07 | 1918 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/custom/gmock-matchers.h
+2023/06/07 | 1917 | support/texlab/crates/texlab/src/features/completion.rs
+2023/06/07 | 1916 | graphics/asymptote/LspCpp/third_party/uri/src/uri_errors.cpp
+2023/06/07 | 1915 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/iterative-parser-states-diagram.dot
+2023/06/07 | 19136 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/primer.md
+2023/06/07 | 1910 | graphics/asymptote/examples/linearregression.asy
+2023/06/07 | 19105 | macros/unicodetex/latex/njuthesis/LICENSE
+2023/06/07 | 190044 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/DroidSans.ttf
+2023/06/07 | 18 | graphics/asymptote/tests/output/circle.asy
+2023/06/07 | 18 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_config.yml
+2023/06/07 | 189 | graphics/asymptote/cudareflect/tinyexr/examples/exr2ldr/Makefile
+2023/06/07 | 1899 | graphics/asymptote/GUI/res/icons/social-python.svg
+2023/06/07 | 18991 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32Window.cpp
+2023/06/07 | 1898 | support/texlab/crates/texlab/src/features/reference/entry.rs
+2023/06/07 | 1898 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+2023/06/07 | 1896 | graphics/asymptote/cudareflect/tinyexr/config-msvc.py
+2023/06/07 | 188 | graphics/asymptote/runstring.h
+2023/06/07 | 188 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/cmake_clean.cmake
+2023/06/07 | 188 | graphics/asymptote/examples/transparency.asy
+2023/06/07 | 188 | graphics/asymptote/cudareflect/tinyexr/examples/resize/Makefile
+2023/06/07 | 18860 | graphics/asymptote/LspCpp/src/lsp/utils.cpp
+2023/06/07 | 1884 | graphics/asymptote/GUI/res/icons/filledbucket.svg
+2023/06/07 | 1883 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__paragraphs.txt.snap
+2023/06/07 | 187 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter_error.txt.snap
+2023/06/07 | 187 | graphics/asymptote/tests/string/rfind.asy
+2023/06/07 | 187 | graphics/asymptote/examples/label3solid.asy
+2023/06/07 | 1878 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-uninitialized-test_.cc
+2023/06/07 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link_test.cc
+2023/06/07 | 1876 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_link2_test.cc
+2023/06/07 | 1876 | graphics/asymptote/cc-mode2.el
+2023/06/07 | 1875 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/foldingRange.h
+2023/06/07 | 1873 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest-port.h
+2023/06/07 | 18739 | graphics/asymptote/runstring.cc
+2023/06/07 | 1871 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_section.snap
+2023/06/07 | 186 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_string.snap
+2023/06/07 | 186 | support/texlab/crates/texlab/tests/lsp/text_document.rs
+2023/06/07 | 186 | graphics/asymptote/runpath3d.h
+2023/06/07 | 186 | graphics/asymptote/doc/unitcircle3.asy
+2023/06/07 | 186 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/shader.vert
+2023/06/07 | 1866 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplereader/simplereader.cpp
+2023/06/07 | 1863 | graphics/asymptote/prc/PRCTools/bitSearchUI.cc
+2023/06/07 | 1860 | graphics/asymptote/prc/PRCTools/bitData.h
+2023/06/07 | 185 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_preamble.snap
+2023/06/07 | 185 | graphics/asymptote/cudareflect/tinyexr/test/fuzzer/README.md
+2023/06/07 | 1858 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/gtest.h
+2023/06/07 | 18578 | graphics/asymptote/application.cc
+2023/06/07 | 1856 | support/texlab/crates/texlab/src/features/definition.rs
+2023/06/07 | 1851 | graphics/asymptote/drawclipbegin.h
+2023/06/07 | 184 | graphics/asymptote/examples/roll.asy
+2023/06/07 | 18474 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-printers.cc
+2023/06/07 | 18448 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-internal-utils.h
+2023/06/07 | 1841 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest_main_unittest.cc
+2023/06/07 | 183 | graphics/asymptote/build-scripts/cc-indent.el
+2023/06/07 | 18382 | graphics/asymptote/LspCpp/third_party/uri/src/uri.cpp
+2023/06/07 | 1835 | graphics/asymptote/examples/cyclohexane.asy
+2023/06/07 | 1832 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/NotificationInMessage.h
+2023/06/07 | 18327 | graphics/asymptote/LspCpp/third_party/uri/test/uri_parse_test.cpp
+2023/06/07 | 1831 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Endpoint.h
+2023/06/07 | 1830 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+2023/06/07 | 182 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
+2023/06/07 | 182 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter.txt.snap
+2023/06/07 | 182 | graphics/asymptote/tests/string/find.asy
+2023/06/07 | 182 | graphics/asymptote/examples/label3.asy
+2023/06/07 | 1829 | support/texlab/crates/texlab/src/features/completion/color.rs
+2023/06/07 | 1829 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
+2023/06/07 | 1828 | graphics/asymptote/beziercurve.cc
+2023/06/07 | 18222 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
+2023/06/07 | 181 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
+2023/06/07 | 181 | support/texlab/CONTRIBUTING.md
+2023/06/07 | 1819 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/colorPresentation.h
+2023/06/07 | 1814 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__label.snap
+2023/06/07 | 1813 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGLInclude.h
+2023/06/07 | 1812 | support/texlab/crates/distro/src/file_name_db.rs
+2023/06/07 | 18120326 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/06/07 | 18095 | graphics/asymptote/doc/asy-latex.dtx
+2023/06/07 | 1808 | graphics/asymptote/GUI/res/icons.qrc
+2023/06/07 | 1805 | graphics/asymptote/patches/cygwin_freeglut-3.0.0.patch
+2023/06/07 | 17 | support/texlab/crates/test-utils/src/lib.rs
+2023/06/07 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_simple.txt
+2023/06/07 | 17 | support/texlab/crates/parser/src/test_data/latex/include/latex_include_equality_sign.txt
+2023/06/07 | 17 | support/texlab/crates/parser/src/test_data/latex/include/import_simple.txt
+2023/06/07 | 17 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl.txt
+2023/06/07 | 17 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail2.json
+2023/06/07 | 179 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
+2023/06/07 | 179 | support/texlab/crates/base-db/src/lib.rs
+2023/06/07 | 17991 | graphics/asymptote/asy-keywords.el
+2023/06/07 | 17987 | graphics/asymptote/entry.cc
+2023/06/07 | 1796 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
+2023/06/07 | 17951 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/src/gmock-matchers.cc
+2023/06/07 | 1794 | graphics/asymptote/fftw++.cc
+2023/06/07 | 1791 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_853.txt.snap
+2023/06/07 | 17907 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/writertest.cpp
+2023/06/07 | 178 | graphics/asymptote/fftw++asy.cc
+2023/06/07 | 17858 | support/texlab/crates/syntax/src/latex/cst.rs
+2023/06/07 | 1781 | support/texlab/crates/texlab/Cargo.toml
+2023/06/07 | 177 | graphics/asymptote/runpath.h
+2023/06/07 | 177 | graphics/asymptote/examples/curvedlabel.asy
+2023/06/07 | 17798 | graphics/asymptote/runfile.cc
+2023/06/07 | 1778 | graphics/asymptote/examples/conicurv.asy
+2023/06/07 | 1775 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/utilityclass.dot
+2023/06/07 | 17734 | graphics/asymptote/dec.h
+2023/06/07 | 177246 | graphics/asymptote/prc/PRCdouble.cc
+2023/06/07 | 176 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/makefile
+2023/06/07 | 17693 | graphics/asymptote/configure.ac
+2023/06/07 | 17676 | systems/texlive/tlnet/archive/tilings.source.r67292.tar.xz
+2023/06/07 | 17671 | graphics/asymptote/texfile.cc
+2023/06/07 | 1765 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/ScopeExit.h
+2023/06/07 | 17614 | graphics/asymptote/cudareflect/tinyexr/README.md
+2023/06/07 | 1760 | support/texlab/crates/citeproc/src/output.rs
+2023/06/07 | 1760 | graphics/asymptote/examples/animations/heatequation.asy
+2023/06/07 | 175 | support/texlab/crates/symbols/src/lib.rs
+2023/06/07 | 175 | graphics/asymptote/examples/strokeshade.asy
+2023/06/07 | 175503 | graphics/asymptote/GUI/icons_rc.py
+2023/06/07 | 1753 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/custom/README.md
+2023/06/07 | 1753 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32OpenGLWindow.h
+2023/06/07 | 1752 | graphics/asymptote/base/shaders/sum3.glsl
+2023/06/07 | 1751 | graphics/asymptote/GUI/GuidesManager.py
+2023/06/07 | 174 | graphics/asymptote/cudareflect/tinyexr/examples/testmapgen/Makefile
+2023/06/07 | 1746 | graphics/asymptote/doc/westnile.asy
+2023/06/07 | 1745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_nested.txt.snap
+2023/06/07 | 1743 | support/texlab/crates/texlab/tests/lsp/text_document/rename.rs
+2023/06/07 | 1740 | support/texlab/crates/texlab/src/features/rename.rs
+2023/06/07 | 173 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/readme.txt
+2023/06/07 | 173 | graphics/asymptote/cudareflect/tinyexr/test/c-binding/Makefile
+2023/06/07 | 173 | graphics/asymptote/cudareflect/tinyexr/examples/exrfilter/Makefile
+2023/06/07 | 1737 | support/texlab/crates/texlab/tests/lsp/text_document/inlay_hint.rs
+2023/06/07 | 17346 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/nfd_win.cpp
+2023/06/07 | 1733 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/src/include/nfd.h
+2023/06/07 | 1732 | support/texlab/crates/texlab/src/main.rs
+2023/06/07 | 1732 | graphics/asymptote/GUI/res/icons/grid.svg
+2023/06/07 | 1728 | graphics/asymptote/webgl/vertex.glsl
+2023/06/07 | 172708 | systems/texlive/tlnet/archive/l3kernel.r67294.tar.xz
+2023/06/07 | 17258 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/regextest.cpp
+2023/06/07 | 1717 | support/texlab/crates/texlab/src/features/completion/argument.rs
+2023/06/07 | 1710 | graphics/asymptote/tests/arith/roots.asy
+2023/06/07 | 1710 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri/uri_io.hpp
+2023/06/07 | 170 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/apitests.cpp
+2023/06/07 | 1708 | support/texlab/crates/syntax/src/latex/kind.rs
+2023/06/07 | 17060 | macros/latex/contrib/postit/doc/postit-doc-en.tex
+2023/06/07 | 16 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_only_name.txt
+2023/06/07 | 16 | support/texlab/crates/parser/src/test_data/latex/include/class_include_empty.txt
+2023/06/07 | 16 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl_error.txt
+2023/06/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail8.json
+2023/06/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail4.json
+2023/06/07 | 16 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail24.json
+2023/06/07 | 169 | graphics/asymptote/runbacktrace.h
+2023/06/07 | 1698 | graphics/asymptote/record.cc
+2023/06/07 | 1698 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/floats.json
+2023/06/07 | 1696 | graphics/asymptote/cudareflect/tinyexr/cmake/sanitizers/FindUBSan.cmake
+2023/06/07 | 1694 | graphics/asymptote/LspCpp/third_party/uri/cmake_install.cmake
+2023/06/07 | 168 | graphics/asymptote/examples/lines.asy
+2023/06/07 | 1688 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/test/SConstruct
+2023/06/07 | 1681371 | graphics/asymptote/ChangeLog
+2023/06/07 | 167 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_command.snap
+2023/06/07 | 167 | graphics/asymptote/cudareflect/tinyexr/examples/nornalmap/Makefile
+2023/06/07 | 1679 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__enumerate.snap
+2023/06/07 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/06/07 | 1675 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/production.cc
+2023/06/07 | 1673 | support/texlab/crates/commands/src/find_envs.rs
+2023/06/07 | 1672 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@006.txt.snap
+2023/06/07 | 16705 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/ChangeLog.md
+2023/06/07 | 1667 | support/texlab/crates/texlab/src/util.rs
+2023/06/07 | 16661 | graphics/asymptote/LspCpp/third_party/uri/src/Makefile
+2023/06/07 | 1658 | graphics/asymptote/prc/PRCTools/Makefile
+2023/06/07 | 1658 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/registerCapability.h
+2023/06/07 | 1658 | graphics/asymptote/GUI/Widg_editBezier.py
+2023/06/07 | 16569 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/architecture.png
+2023/06/07 | 16552 | graphics/asymptote/LspCpp/third_party/uri/include/network/optional.hpp
+2023/06/07 | 1654 | support/texlab/crates/texlab/src/features/completion/citation.rs
+2023/06/07 | 16492 | graphics/asymptote/base/plain_Label.asy
+2023/06/07 | 1648 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/OpenGL2Include.h
+2023/06/07 | 16483 | graphics/asymptote/runpair.cc
+2023/06/07 | 1640 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
+2023/06/07 | 1640 | graphics/asymptote/callable.h
+2023/06/07 | 163 | graphics/asymptote/examples/1overx.asy
+2023/06/07 | 1638 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
+2023/06/07 | 1630 | graphics/asymptote/builtin.h
+2023/06/07 | 162 | graphics/asymptote/examples/stereoscopic.asy
+2023/06/07 | 162 | graphics/asymptote/examples/sphereskeleton.asy
+2023/06/07 | 16298 | graphics/asymptote/LspCpp/third_party/rapidjson/test/perftest/rapidjsontest.cpp
+2023/06/07 | 1626 | support/texlab/crates/citeproc/src/field/number.rs
+2023/06/07 | 1626 | graphics/asymptote/genv.h
+2023/06/07 | 1620 | graphics/asymptote/doc/colors.asy
+2023/06/07 | 161 | graphics/asymptote/runhistory.h
+2023/06/07 | 161 | graphics/asymptote/cudareflect/tinyexr/examples/exr2rgbe/Makefile
+2023/06/07 | 16188 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_win8.png
+2023/06/07 | 1612 | graphics/asymptote/asy-list.pl
+2023/06/07 | 1611 | support/texlab/crates/texlab/src/util/line_index_ext.rs
+2023/06/07 | 1610 | graphics/asymptote/LspCpp/third_party/rapidjson/example/sortkeys/sortkeys.cpp
+2023/06/07 | 160 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
+2023/06/07 | 160 | graphics/asymptote/cudareflect/tinyexr/jni/Makefile
+2023/06/07 | 1608 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
+2023/06/07 | 1608 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/anyOf.json
+2023/06/07 | 16089 | graphics/asymptote/base/slide.asy
+2023/06/07 | 16081 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move1.png
+2023/06/07 | 1607 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/oneOf.json
+2023/06/07 | 160672 | graphics/asymptote/examples/animations/dice.u3d
+2023/06/07 | 1604 | graphics/asymptote/v3dheadertypes.py
+2023/06/07 | 15 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_incomplete.txt
+2023/06/07 | 15 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error4.txt
+2023/06/07 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_prenote.txt
+2023/06/07 | 15 | support/texlab/crates/parser/src/test_data/latex/citation/citation_multiple_keys.txt
+2023/06/07 | 15 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail28.json
+2023/06/07 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-efe9007bfdcbbe8a1569bf01fa9acadb8261ead49cb83f6e91fcdc4dae2e99a3_min
+2023/06/07 | 15 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-df76d1f27adb8927a1446a603028272140905c168a336128465a1162ec7af270.mini
+2023/06/07 | 159 | graphics/asymptote/tests/types/cast.asy
+2023/06/07 | 159 | graphics/asymptote/cudareflect/tinyexr/examples/rgbe2exr/Makefile
+2023/06/07 | 1598 | graphics/asymptote/examples/NURBSsurface.asy
+2023/06/07 | 1596 | systems/texlive/tlnet/archive/collection-pictures.r67297.tar.xz
+2023/06/07 | 15959 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-typed-test.h
+2023/06/07 | 1594 | graphics/asymptote/pen.cc
+2023/06/07 | 1590 | support/texlab/crates/commands/src/dep_graph.rs
+2023/06/07 | 158 | graphics/asymptote/tests/frames/stat.asy
+2023/06/07 | 158 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/optionalVersion.h
+2023/06/07 | 15895 | graphics/asymptote/GUI/InplaceAddObj.py
+2023/06/07 | 1588 | graphics/asymptote/build-scripts/asy-format.el
+2023/06/07 | 1583 | support/texlab/crates/commands/src/placeholders.rs
+2023/06/07 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_trailing_comma.snap
+2023/06/07 | 157 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_insert_braces.snap
+2023/06/07 | 157 | graphics/asymptote/runsystem.h
+2023/06/07 | 157 | graphics/asymptote/doc/saddle.asy
+2023/06/07 | 157 | graphics/asymptote/cudareflect/tinyexr/examples/ldr2exr/Makefile
+2023/06/07 | 1579 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_code_action.h
+2023/06/07 | 1578 | graphics/asymptote/build-scripts/cc-format.el
+2023/06/07 | 1566 | graphics/asymptote/examples/near_earth.asy
+2023/06/07 | 15645 | graphics/asymptote/install-sh
+2023/06/07 | 15617 | graphics/asymptote/cudareflect/tinyexr/test_tinyexr.cc
+2023/06/07 | 15601 | graphics/asymptote/base/ode.asy
+2023/06/07 | 155 | graphics/asymptote/tests/types/ecast.asy
+2023/06/07 | 1556 | support/texlab/crates/texlab/src/features/completion/import.rs
+2023/06/07 | 15529 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-nice-strict_test.cc
+2023/06/07 | 1550 | support/texlab/crates/commands/src/clean.rs
+2023/06/07 | 1550 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
+2023/06/07 | 155069 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/issue-160-piz-decode.exr
+2023/06/07 | 154 | graphics/asymptote/examples/billboard.asy
+2023/06/07 | 1548 | graphics/asymptote/examples/BezierSurface.asy
+2023/06/07 | 1548 | graphics/asymptote/cudareflect/tinyexr/test/issues/160/main.py
+2023/06/07 | 15464 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.md
+2023/06/07 | 1545 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/lsRequestId.h
+2023/06/07 | 15451 | graphics/asymptote/types.h
+2023/06/07 | 1544 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/divisibleBy.json
+2023/06/07 | 1542 | graphics/asymptote/GUI/xasyUtils.py
+2023/06/07 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/06/07 | 153 | graphics/asymptote/runlabel.h
+2023/06/07 | 15393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/dom.zh-cn.md
+2023/06/07 | 1538 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/README.md
+2023/06/07 | 15382 | graphics/asymptote/base/palette.asy
+2023/06/07 | 1537 | graphics/asymptote/examples/refs.bib
+2023/06/07 | 15364 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.md
+2023/06/07 | 1532 | graphics/asymptote/LspCpp/src/jsonrpc/MessageJsonHandler.cpp
+2023/06/07 | 1531 | graphics/asymptote/LspCpp/third_party/uri/src/cmake_install.cmake
+2023/06/07 | 15318 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/BUILD.bazel
+2023/06/07 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/06/07 | 15277 | graphics/asymptote/base/flowchart.asy
+2023/06/07 | 1525 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/multipleOf.json
+2023/06/07 | 15253 | graphics/asymptote/runlabel.cc
+2023/06/07 | 1524 | graphics/asymptote/patches/flex.patch
+2023/06/07 | 1523 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/unittest.cpp
+2023/06/07 | 1521 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8.h
+2023/06/07 | 151 | graphics/asymptote/LspCpp/third_party/utfcpp/utf8cppConfig.cmake.in
+2023/06/07 | 15199868 | macros/latex/contrib/jeuxcartes.zip
+2023/06/07 | 15192 | graphics/asymptote/base/v3d.asy
+2023/06/07 | 15142 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/mixed.json
+2023/06/07 | 150 | graphics/asymptote/examples/spheresilhouette.asy
+2023/06/07 | 150 | graphics/asymptote/doc/latexmkrc_asydir
+2023/06/07 | 1509 | support/texlab/crates/symbols/src/document.rs
+2023/06/07 | 150794 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
+2023/06/07 | 1505 | support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
+2023/06/07 | 15043 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest_pred_impl.h
+2023/06/07 | 15030 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/faq.zh-cn.md
+2023/06/07 | 1502 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move2.dot
+2023/06/07 | 15018 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/main.cc
+2023/06/07 | 14 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_multiple.txt
+2023/06/07 | 14 | support/texlab/crates/parser/src/test_data/latex/generic_command_args.txt
+2023/06/07 | 14 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail27.json
+2023/06/07 | 1498 | graphics/asymptote/examples/animations/wavepacket.asy
+2023/06/07 | 14980 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_faq.md
+2023/06/07 | 1492 | graphics/asymptote/runarray.h
+2023/06/07 | 14915 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-failfast-unittest.py
+2023/06/07 | 148 | support/texlab/crates/parser/src/lib.rs
+2023/06/07 | 148 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass3.json
+2023/06/07 | 1480 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/Condition.h
+2023/06/07 | 1479 | graphics/asymptote/prc/PRCTools/inflationMain.cc
+2023/06/07 | 14795 | graphics/asymptote/stm.cc
+2023/06/07 | 1475 | graphics/asymptote/LspCpp/third_party/uri/deps/LICENSE
+2023/06/07 | 1475 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
+2023/06/07 | 14749 | graphics/asymptote/base/contour3.asy
+2023/06/07 | 146 | graphics/asymptote/doc/slopefield1.asy
+2023/06/07 | 146 | graphics/asymptote/cudareflect/tinyexr/examples/deepview/Makefile
+2023/06/07 | 1469 | graphics/asymptote/doc/png/Makefile.in
+2023/06/07 | 1467 | graphics/asymptote/GUI/res/icons/android-hand.svg
+2023/06/07 | 146751 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
+2023/06/07 | 14651 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-death-test.h
+2023/06/07 | 1464 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
+2023/06/07 | 1461 | graphics/asymptote/examples/logo3.asy
+2023/06/07 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/06/07 | 145 | graphics/asymptote/examples/star.asy
+2023/06/07 | 14575 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/cmake/internal_utils.cmake
+2023/06/07 | 1456 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/tutorial.dot
+2023/06/07 | 1454 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/move3.dot
+2023/06/07 | 14532 | graphics/asymptote/stack.cc
+2023/06/07 | 14531 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.md
+2023/06/07 | 1452 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/platformtest.cpp
+2023/06/07 | 145014 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/gmock_cook_book.md
+2023/06/07 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/06/07 | 144 | graphics/asymptote/doc/latexmkrc
+2023/06/07 | 1449 | graphics/asymptote/GUI/SetCustomAnchor.py
+2023/06/07 | 1443 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_item.snap
+2023/06/07 | 1441 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/pass1.json
+2023/06/07 | 143 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_string.snap
+2023/06/07 | 143 | graphics/asymptote/tests/gc/label.asy
+2023/06/07 | 14378 | graphics/asymptote/examples/teapot.asy
+2023/06/07 | 1436 | graphics/asymptote/GUI/res/icons/bucket.svg
+2023/06/07 | 1435 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/simpledom.dot
+2023/06/07 | 14325 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/stream.zh-cn.md
+2023/06/07 | 14296 | support/texlab/crates/texlab/tests/lsp/text_document/completion.rs
+2023/06/07 | 14283 | graphics/asymptote/testv3d.asy
+2023/06/07 | 1427 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/diagram/normalparsing.dot
+2023/06/07 | 1423 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/didChangeWorkspaceFolders.h
+2023/06/07 | 1421 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
+2023/06/07 | 141 | graphics/asymptote/examples/sphere.asy
+2023/06/07 | 141 | graphics/asymptote/examples/ring.asy
+2023/06/07 | 1419 | graphics/asymptote/LspCpp/third_party/uri/test/uri_stream_test.cpp
+2023/06/07 | 1415 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__mvbook_nietzsche_1988.snap
+2023/06/07 | 14139 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/RemoteEndPoint.h
+2023/06/07 | 1412 | support/texlab/crates/texlab/src/server/progress.rs
+2023/06/07 | 140 | graphics/asymptote/doc/vectorfield.asy
+2023/06/07 | 14089 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-typed-test_test.cc
+2023/06/07 | 14081 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/src/gtest-filepath.cc
+2023/06/07 | 14072 | graphics/asymptote/types.cc
+2023/06/07 | 1406 | graphics/asymptote/cudareflect/EXRFiles.h
+2023/06/07 | 1402 | support/texlab/crates/texlab/src/features/reference/string.rs
+2023/06/07 | 13 | support/texlab/crates/parser/src/test_data/latex/include/package_include_empty.txt
+2023/06/07 | 13 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_simple.txt
+2023/06/07 | 13 | support/texlab/crates/parser/src/test_data/latex/equation.txt
+2023/06/07 | 13 | support/texlab/crates/parser/src/test_data/latex/color/color_reference_simple.txt
+2023/06/07 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/docs/README.md
+2023/06/07 | 139 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/docs/README.md
+2023/06/07 | 1399 | graphics/asymptote/parallel.cc
+2023/06/07 | 1398 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_averroes_1998.snap
+2023/06/07 | 1398 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/swap.h
+2023/06/07 | 13980 | graphics/asymptote/arrayop.h
+2023/06/07 | 13944 | graphics/asymptote/runtriple.cc
+2023/06/07 | 1391 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/initialize.h
+2023/06/07 | 1391 | graphics/asymptote/doc/CAD1.asy
+2023/06/07 | 138 | graphics/asymptote/Pipfile
+2023/06/07 | 1389 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
+2023/06/07 | 1388 | graphics/asymptote/LspCpp/src/jsonrpc/Endpoint.cpp
+2023/06/07 | 13867 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/nuklear_btgui_gl2.h
+2023/06/07 | 1384 | graphics/asymptote/tests/pic/trans.asy
+2023/06/07 | 13816 | graphics/asymptote/GUI/xasyBezierInterface.py
+2023/06/07 | 13787 | graphics/asymptote/GUI/ContextWindow.py
+2023/06/07 | 13776 | graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
+2023/06/07 | 1376 | graphics/asymptote/LspCpp/src/lsp/initialize.cpp
+2023/06/07 | 1375 | graphics/asymptote/base/tree.asy
+2023/06/07 | 136 | graphics/asymptote/examples/latticeshading.asy
+2023/06/07 | 13663 | graphics/asymptote/doc/install-sh
+2023/06/07 | 13663 | graphics/asymptote/doc/FAQ/install-sh
+2023/06/07 | 13615 | graphics/asymptote/entry.h
+2023/06/07 | 13612 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock_output_test_golden.txt
+2023/06/07 | 13605 | graphics/asymptote/base/grid3.asy
+2023/06/07 | 135 | support/texlab/crates/parser/src/test_data/latex/issue_853.txt
+2023/06/07 | 1359 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
+2023/06/07 | 1354 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
+2023/06/07 | 1352 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/did_change_watched_files.h
+2023/06/07 | 1352 | graphics/asymptote/examples/Klein.asy
+2023/06/07 | 134 | support/texlab/crates/parser/src/test_data/latex/structure/paragraphs.txt
+2023/06/07 | 134 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tox.ini
+2023/06/07 | 13491 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/internal/gmock-pp.h
+2023/06/07 | 1347 | graphics/asymptote/cudareflect/tinyexr/test/unit/config-posix.py
+2023/06/07 | 13477 | graphics/asymptote/base/asy.vim
+2023/06/07 | 1345 | graphics/asymptote/interact.h
+2023/06/07 | 13440 | graphics/asymptote/texfile.h
+2023/06/07 | 1341 | graphics/asymptote/runtimebase.in
+2023/06/07 | 133 | graphics/asymptote/cudareflect/tinyexr/test/unit/vcbuild.bat
+2023/06/07 | 1338 | graphics/asymptote/LspCpp/third_party/utfcpp/LICENSE
+2023/06/07 | 1338 | graphics/asymptote/LspCpp/third_party/uri/LICENSE_1_0.txt
+2023/06/07 | 133685 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
+2023/06/07 | 13366 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/internal/gtest-death-test-internal.h
+2023/06/07 | 13357 | graphics/asymptote/camp.l
+2023/06/07 | 13355 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
+2023/06/07 | 13353 | support/texlab/crates/parser/src/test_data/build_log/005.txt
+2023/06/07 | 13353 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
+2023/06/07 | 1331 | graphics/asymptote/tests/types/spec.asy
+2023/06/07 | 1330 | support/texlab/crates/texlab/src/features/inlay_hint/label.rs
+2023/06/07 | 1330 | graphics/asymptote/base/v3dheadertypes.asy
+2023/06/07 | 132 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_parens.snap
+2023/06/07 | 132 | graphics/asymptote/tests/string/length.asy
+2023/06/07 | 132 | graphics/asymptote/cudareflect/tinyexr/test/unit/regression/poc-d5c9c893e559277a3320c196523095b94db93985620ac338d037487e0e613047_min
+2023/06/07 | 1325036 | systems/texlive/tlnet/archive/latexindent.doc.r67296.tar.xz
+2023/06/07 | 1324600 | macros/unicodetex/latex/njuthesis.zip
+2023/06/07 | 1322 | support/texlab/crates/texlab/tests/lsp/text_document/document_highlight.rs
+2023/06/07 | 1321 | support/texlab/crates/symbols/src/workspace.rs
+2023/06/07 | 13217 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/type.json
+2023/06/07 | 1318 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ProcessIoService.h
+2023/06/07 | 1318 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/OpenGLWindow/Win32InternalWindowData.h
+2023/06/07 | 1317 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_blom_2021.snap
+2023/06/07 | 1317 | graphics/asymptote/beziercurve.h
+2023/06/07 | 1316 | graphics/asymptote/base/shaders/sum2fast.glsl
+2023/06/07 | 1315 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/idandref.json
+2023/06/07 | 1312 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/strfunctest.cpp
+2023/06/07 | 1310 | graphics/asymptote/prc/PRCTools/extractSections.cc
+2023/06/07 | 1309 | graphics/asymptote/examples/roundpath.asy
+2023/06/07 | 13060 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/gtest-unittest-api_test.cc
+2023/06/07 | 1305 | support/texlab/crates/texlab/src/features/rename/command.rs
+2023/06/07 | 1302 | graphics/asymptote/GUI/res/icons/android-color-palette.svg
+2023/06/07 | 13025 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
+2023/06/07 | 1301 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_kastenholz_2006.snap
+2023/06/07 | 1300 | support/texlab/crates/texlab/src/features/definition/command.rs
+2023/06/07 | 12 | support/texlab/crates/texlab/tests/lsp/workspace.rs
+2023/06/07 | 12 | support/texlab/crates/parser/src/test_data/latex/hello_world.txt
+2023/06/07 | 12 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_missing_end.txt
+2023/06/07 | 12 | support/texlab/crates/parser/src/test_data/latex/citation/citation_redundant_comma.txt
+2023/06/07 | 12 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonchecker/fail33.json
+2023/06/07 | 129 | graphics/asymptote/tests/gc/struct.asy
+2023/06/07 | 129 | graphics/asymptote/base/shaders/screen.glsl
+2023/06/07 | 1299 | graphics/asymptote/patches/dvipdf
+2023/06/07 | 1299 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/StreamMessageProducer.h
+2023/06/07 | 1298 | support/texlab/crates/texlab/src/features/inlay_hint.rs
+2023/06/07 | 1298 | graphics/asymptote/examples/electromagnetic.asy
+2023/06/07 | 129563 | graphics/asymptote/camp.tab.cc
+2023/06/07 | 1293 | graphics/asymptote/TODO
+2023/06/07 | 1291 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsPosition.h
+2023/06/07 | 1288468 | graphics/asymptote/doc/asymptote.pdf
+2023/06/07 | 1287 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/README.md
+2023/06/07 | 12870 | graphics/asymptote/Makefile.in
+2023/06/07 | 1284 | graphics/asymptote/tests/output/Makefile
+2023/06/07 | 1282 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/required.json
+2023/06/07 | 12823 | graphics/asymptote/impdatum.cc
+2023/06/07 | 127 | graphics/asymptote/index.html
+2023/06/07 | 1276 | graphics/asymptote/base/asymptote.py
+2023/06/07 | 1274 | support/texlab/crates/texlab/benches/bench_main.rs
+2023/06/07 | 1274 | graphics/asymptote/newexp.h
+2023/06/07 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/default.json
+2023/06/07 | 1273 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/default.json
+2023/06/07 | 1268 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.md
+2023/06/07 | 1266 | graphics/asymptote/drawverbatim.h
+2023/06/07 | 12648 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-output-test.py
+2023/06/07 | 12630 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/cube2longlat.cc
+2023/06/07 | 1261761 | graphics/asymptote/examples/worldmap.dat
+2023/06/07 | 1260 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_enum_item.txt.snap
+2023/06/07 | 12604 | graphics/asymptote/runsystem.cc
+2023/06/07 | 125 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/docker/Dockerfile
+2023/06/07 | 1253 | graphics/asymptote/keywords.pl
+2023/06/07 | 12539 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-shuffle-test.py
+2023/06/07 | 12534 | graphics/asymptote/ax_pthread.m4
+2023/06/07 | 1251 | graphics/asymptote/examples/odetest.asy
+2023/06/07 | 1250747 | macros/unicodetex/latex/njuthesis/njuthesis.pdf
+2023/06/07 | 124 | graphics/asymptote/tests/gc/path.asy
+2023/06/07 | 124 | graphics/asymptote/GUI/res/icons/centerorigin.asy
+2023/06/07 | 1247 | graphics/asymptote/examples/animations/slidemovies.asy
+2023/06/07 | 1247400 | systems/texlive/tlnet/archive/texshade.doc.r67295.tar.xz
+2023/06/07 | 1245 | graphics/asymptote/prc/PRCTools/describeMain.cc
+2023/06/07 | 1245 | graphics/asymptote/findsym.pl
+2023/06/07 | 1243 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
+2023/06/07 | 1240 | graphics/asymptote/examples/arrows3.asy
+2023/06/07 | 123 | graphics/asymptote/examples/Coons.asy
+2023/06/07 | 123 | graphics/asymptote/doc/superpath.asy
+2023/06/07 | 1239 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/configuration.h
+2023/06/07 | 1238 | support/texlab/crates/texlab/src/features/completion/color_model.rs
+2023/06/07 | 1236 | graphics/asymptote/primitives.h
+2023/06/07 | 1236 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/performance.zh-cn.md
+2023/06/07 | 1235 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
+2023/06/07 | 1235 | graphics/asymptote/examples/animations/inlinemovie.tex
+2023/06/07 | 1235678 | graphics/asymptote/GL/glew.c
+2023/06/07 | 1232 | graphics/asymptote/v3dheadertypes.h
+2023/06/07 | 1232 | graphics/asymptote/build-scripts/build-asygl
+2023/06/07 | 12321 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/test/gmock-cardinalities_test.cc
+2023/06/07 | 1226 | graphics/asymptote/GUI/res/icons/triangle-stroked-15.svg
+2023/06/07 | 12259 | graphics/asymptote/knot.h
+2023/06/07 | 12216 | graphics/asymptote/LspCpp/CMakeLists.txt
+2023/06/07 | 121 | graphics/asymptote/doc/labelsquare.asy
+2023/06/07 | 121 | graphics/asymptote/cudareflect/tinyexr/tinyexr.cc
+2023/06/07 | 1216 | graphics/asymptote/LspCpp/third_party/uri/CHANGELOG.md
+2023/06/07 | 1216 | graphics/asymptote/examples/dragon.asy
+2023/06/07 | 1215 | graphics/asymptote/GUI/configs/xasyconfig.cson
+2023/06/07 | 1213 | graphics/asymptote/base/plain_arcs.asy
+2023/06/07 | 121145 | graphics/asymptote/doc/asyRefCard.pdf
+2023/06/07 | 1210 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__book_knuth_1984.snap
+2023/06/07 | 1210929 | graphics/asymptote/gc-8.2.4.tar.gz
+2023/06/07 | 1209 | graphics/asymptote/tests/imp/unravel.asy
+2023/06/07 | 1208 | support/texlab/crates/texlab/tests/lsp/text_document/folding_range.rs
+2023/06/07 | 1206 | graphics/asymptote/parallel.h
+2023/06/07 | 1203 | graphics/asymptote/LspCpp/README.md
+2023/06/07 | 12012 | graphics/asymptote/base/solids.asy
+2023/06/07 | 1200 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/_data/navigation.yml
+2023/06/07 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_equation.txt
+2023/06/07 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_simple.txt
+2023/06/07 | 11 | support/texlab/crates/parser/src/test_data/latex/include/import_incomplete.txt
+2023/06/07 | 11996 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
+2023/06/07 | 11993904 | systems/texlive/tlnet/archive/l3kernel.doc.r67294.tar.xz
+2023/06/07 | 1198 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/exr-io.cc
+2023/06/07 | 1197 | graphics/asymptote/drawclipend.h
+2023/06/07 | 11937 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/CMakeLists.txt
+2023/06/07 | 1192 | graphics/asymptote/LspCpp/include/LibLsp/lsp/SimpleTimer.h
+2023/06/07 | 1191 | support/texlab/crates/texlab/src/features/definition/entry.rs
+2023/06/07 | 1191 | support/texlab/crates/texlab/src/features/completion/glossary_ref.rs
+2023/06/07 | 1191 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested_missing_braces.txt.snap
+2023/06/07 | 1190 | graphics/asymptote/camperror.cc
+2023/06/07 | 11907 | graphics/asymptote/tests/gsl/random.asy
+2023/06/07 | 118 | graphics/asymptote/tests/string/substr.asy
+2023/06/07 | 118 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.ts
+2023/06/07 | 1189 | support/texlab/crates/texlab/src/features/hover/string_ref.rs
+2023/06/07 | 1189 | graphics/asymptote/tests/types/var.asy
+2023/06/07 | 1188 | graphics/asymptote/EXRFiles.cc
+2023/06/07 | 1187 | graphics/asymptote/GUI/res/icons/closedcurve.svg
+2023/06/07 | 11868 | support/texlab/crates/citeproc/src/tests.rs
+2023/06/07 | 1186601 | graphics/asymptote/GL/glew.h
+2023/06/07 | 1185 | graphics/asymptote/examples/functionshading.asy
+2023/06/07 | 1184 | graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
+2023/06/07 | 1183 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
+2023/06/07 | 1183 | graphics/asymptote/GUI/xasyArgs.py
+2023/06/07 | 1182 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/TcpServer.h
+2023/06/07 | 1180 | graphics/asymptote/GUI/res/icons/code.svg
+2023/06/07 | 117 | graphics/asymptote/cudareflect/tinyexr/examples/exr2fptiff/README.md
+2023/06/07 | 1178 | graphics/asymptote/base/embed.asy
+2023/06/07 | 1177 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_with_begin.txt.snap
+2023/06/07 | 11766 | graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
+2023/06/07 | 1175 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
+2023/06/07 | 1174 | graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
+2023/06/07 | 1171 | support/texlab/crates/texlab/src/features/hover.rs
+2023/06/07 | 1171 | graphics/asymptote/parser.h
+2023/06/07 | 1170 | support/texlab/crates/base-db/src/semantics/auxiliary.rs
+2023/06/07 | 1170 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
+2023/06/07 | 1168 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
+2023/06/07 | 1166 | support/texlab/crates/texlab/src/features/definition/label.rs
+2023/06/07 | 11663 | graphics/asymptote/path.h
+2023/06/07 | 11656 | graphics/asymptote/base/binarytree.asy
+2023/06/07 | 1164 | graphics/asymptote/examples/genustwo.asy
+2023/06/07 | 11642 | graphics/asymptote/coder.h
+2023/06/07 | 1163 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_combi_2004.snap
+2023/06/07 | 1163 | graphics/asymptote/runtime.h
+2023/06/07 | 1162 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/LICENSE
+2023/06/07 | 116010 | graphics/asymptote/predicates.cc
+2023/06/07 | 115 | graphics/asymptote/doc/onecontour.asy
+2023/06/07 | 1158 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/codeActionResult.h
+2023/06/07 | 11580 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
+2023/06/07 | 1157 | support/texlab/crates/texlab/tests/lsp/text_document/document_link.rs
+2023/06/07 | 1156 | graphics/asymptote/cudareflect/tinyexr/premake4.lua
+2023/06/07 | 11564 | graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
+2023/06/07 | 11541 | graphics/asymptote/aspy.py
+2023/06/07 | 11526 | graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
+2023/06/07 | 1151 | graphics/asymptote/callable.cc
+2023/06/07 | 11513 | graphics/asymptote/runlabel.in
+2023/06/07 | 1149 | graphics/asymptote/guide.cc
+2023/06/07 | 1149 | graphics/asymptote/examples/animations/wheel.asy
+2023/06/07 | 1147 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.h
+2023/06/07 | 1147 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/rename.h
+2023/06/07 | 11468 | graphics/asymptote/drawelement.h
+2023/06/07 | 1142 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/checkHashCodeEqualsStatus.h
+2023/06/07 | 1142 | graphics/asymptote/envcompleter.cc
+2023/06/07 | 11420 | support/texlab/crates/parser/src/bibtex.rs
+2023/06/07 | 1140 | graphics/asymptote/absyn.h
+2023/06/07 | 114020 | systems/texlive/tlnet/archive/texlive-scripts.r67291.tar.xz
+2023/06/07 | 113 | graphics/asymptote/patches/fixmem.reg
+2023/06/07 | 113 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.make
+2023/06/07 | 1139 | graphics/asymptote/GUI/res/icons/opencurve.svg
+2023/06/07 | 1138 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/onTypeFormatting.h
+2023/06/07 | 1137 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/misc/header.html
+2023/06/07 | 11373 | graphics/asymptote/base/plain_markers.asy
+2023/06/07 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/items.json
+2023/06/07 | 1136 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/items.json
+2023/06/07 | 113565 | graphics/asymptote/cudareflect/tinyexr/examples/common/stb_image_resize.h
+2023/06/07 | 1131 | graphics/asymptote/gl-matrix-2.4.0-pruned/LICENSE.js
+2023/06/07 | 1131 | graphics/asymptote/cudareflect/tinyexr/experimental/js/index.html
+2023/06/07 | 1127425 | graphics/asymptote/cudareflect/tinyexr/asakusa.exr
+2023/06/07 | 1126 | graphics/asymptote/coenv.cc
+2023/06/07 | 1124 | support/texlab/crates/distro/src/language.rs
+2023/06/07 | 11227 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
+2023/06/07 | 11221 | graphics/asymptote/jsfile.cc
+2023/06/07 | 1121 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_thmtools.snap
+2023/06/07 | 1121 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested.txt.snap
+2023/06/07 | 1120 | support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_amsthm.snap
+2023/06/07 | 1120 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.h
+2023/06/07 | 1120 | graphics/asymptote/base/external.asy
+2023/06/07 | 111 | graphics/asymptote/GUI/res/icons/center.asy
+2023/06/07 | 111 | graphics/asymptote/examples/shadestroke.asy
+2023/06/07 | 1118 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/samples.md
+2023/06/07 | 1116 | graphics/asymptote/LspCpp/third_party/uri/test/valid_urls.txt
+2023/06/07 | 1114 | graphics/asymptote/examples/laserlattice.asy
+2023/06/07 | 11146 | graphics/asymptote/LspCpp/third_party/rapidjson/readme.md
+2023/06/07 | 1112 | support/texlab/crates/parser/src/test_data/bibtex/samples/nietzsche_1998.txt
+2023/06/07 | 11122 | graphics/asymptote/base/math.asy
+2023/06/07 | 1111 | graphics/asymptote/examples/imagehistogram.asy
+2023/06/07 | 110 | info/spanish/tipos.zip
+2023/06/07 | 110 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/remotes/subSchemas.json
+2023/06/07 | 1108 | graphics/asymptote/GUI/res/icons/android-locate.svg
+2023/06/07 | 1104 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/cmake_clean.cmake
+2023/06/07 | 1103 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition.txt.snap
+2023/06/07 | 1103 | graphics/asymptote/LspCpp/include/LibLsp/lsp/client/unregisterCapability.h
+2023/06/07 | 1101 | graphics/asymptote/cudareflect/tinyexr/examples/resize/resize.cc
+2023/06/07 | 11015 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__nietzsche_1998.txt.snap
+2023/06/07 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_star.txt
+2023/06/07 | 10 | support/texlab/crates/parser/src/test_data/latex/citation/citation_simple.txt
+2023/06/07 | 109 | graphics/asymptote/tests/string/insert.asy
+2023/06/07 | 109 | graphics/asymptote/GUI/res/icons/closedpolygon.asy
+2023/06/07 | 109 | graphics/asymptote/GUI/res/icons/closedcurve.asy
+2023/06/07 | 10994 | info/spanish/antique-spanish-units/antique-spanish-units.tex
+2023/06/07 | 1098 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/types/integers.json
+2023/06/07 | 1096 | graphics/asymptote/tests/array/transpose.asy
+2023/06/07 | 1096 | graphics/asymptote/refaccess.cc
+2023/06/07 | 1096 | graphics/asymptote/drawlayer.h
+2023/06/07 | 1090 | graphics/asymptote/GUI/res/icons/redo.svg
+2023/06/07 | 108 | support/texlab/crates/texlab/src/lib.rs
+2023/06/07 | 108 | graphics/asymptote/GUI/res/icons/subdirectory-left.svg
+2023/06/07 | 108 | graphics/asymptote/cudareflect/tinyexr/jni/README.md
+2023/06/07 | 1088 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/clzlltest.cpp
+2023/06/07 | 1088 | graphics/asymptote/examples/NURBSsphere.asy
+2023/06/07 | 10840 | graphics/asymptote/base/CAD.asy
+2023/06/07 | 1083 | support/texlab/crates/texlab/src/features/formatting.rs
+2023/06/07 | 1082 | graphics/asymptote/patches/README
+2023/06/07 | 107 | graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/compiler_depend.ts
+2023/06/07 | 1077 | macros/unicodetex/latex/njuthesis/README.md
+2023/06/07 | 1076 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_885.snap
+2023/06/07 | 1075 | graphics/asymptote/v3dheadertypes.csv
+2023/06/07 | 1075 | graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/OverridableMethod.h
+2023/06/07 | 1074 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_asymptote.txt.snap
+2023/06/07 | 1072 | graphics/asymptote/cudareflect/tinyexr/examples/cube2longlat/README.md
+2023/06/07 | 1070 | support/texlab/crates/texlab/src/features/reference.rs
+2023/06/07 | 1070 | graphics/asymptote/cudareflect/IrradianceGenerator.sln
+2023/06/07 | 1067 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_options.txt.snap
+2023/06/07 | 1066 | support/texlab/crates/texlab/src/features/rename/label.rs
+2023/06/07 | 1066 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__class_include_options.txt.snap
+2023/06/07 | 1066 | graphics/asymptote/LspCpp/LICENSE
+2023/06/07 | 1065 | graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
+2023/06/07 | 1065 | graphics/asymptote/examples/shellmethod.asy
+2023/06/07 | 10648 | systems/texlive/tlnet/archive/tilings.r67292.tar.xz
+2023/06/07 | 10641 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/encodedstream.h
+2023/06/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/minimum.json
+2023/06/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft4/maximum.json
+2023/06/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/minimum.json
+2023/06/07 | 1063 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/tests/draft3/maximum.json
+2023/06/07 | 10632 | graphics/asymptote/LspCpp/src/jsonrpc/WebSocketServer.cpp
+2023/06/07 | 10632 | graphics/asymptote/EnvVarUpdate.nsh
+2023/06/07 | 105 | graphics/asymptote/LspCpp/third_party/utfcpp/tests/noexceptionstests.cpp
+2023/06/07 | 1058 | graphics/asymptote/GUI/res/icons/closedpolygon.svg
+2023/06/07 | 10585 | graphics/asymptote/path3.h
+2023/06/07 | 1057 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/jsonschema/LICENSE
+2023/06/07 | 10571 | graphics/asymptote/cudareflect/tinyexr/deps/miniz/examples/example5.c
+2023/06/07 | 10563 | graphics/asymptote/cudareflect/tinyexr/test/unit/kuroga.py
+2023/06/07 | 10561 | graphics/asymptote/cudareflect/tinyexr/kuroga.py
+2023/06/07 | 1055 | graphics/asymptote/examples/partitionExample.asy
+2023/06/07 | 1053 | graphics/asymptote/doc/fillcontour.asy
+2023/06/07 | 1052 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_aksin_2006.snap
+2023/06/07 | 1052 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/CMakeLists.txt
+2023/06/07 | 1051 | support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
+2023/06/07 | 1051 | graphics/asymptote/prc/PRCTools/inflation.h
+2023/06/07 | 1051 | graphics/asymptote/doc/eetomumu.asy
+2023/06/07 | 1050 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__article_jain_1999.snap
+2023/06/07 | 1050 | graphics/asymptote/opsymbols.pl
+2023/06/07 | 10504 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/prettywriter.h
+2023/06/07 | 104 | graphics/asymptote/examples/tiling.asy
+2023/06/07 | 1049 | support/texlab/crates/texlab/src/features/highlight/label.rs
+2023/06/07 | 1047 | graphics/asymptote/GUI/res/icons/undo.svg
+2023/06/07 | 10476 | graphics/asymptote/LspCpp/third_party/uri/deps/googlemock/include/gmock/gmock-nice-strict.h
+2023/06/07 | 1044671 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/screenshots/exrview.png
+2023/06/07 | 10445 | graphics/asymptote/INSTALL
+2023/06/07 | 1043 | graphics/asymptote/GUI/res/icons/openpolygon.svg
+2023/06/07 | 10429 | graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
+2023/06/07 | 10414 | graphics/asymptote/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+2023/06/07 | 1040 | graphics/asymptote/examples/lmfit1.asy
+2023/06/07 | 103 | graphics/asymptote/LspCpp/third_party/rapidjson/bin/data/readme.txt
+2023/06/07 | 1039 | graphics/asymptote/LspCpp/third_party/uri/test/CMakeLists.txt
+2023/06/07 | 1038 | support/texlab/crates/citeproc/src/snapshots/citeproc__tests__inproceedings_erwin_2007.snap
+2023/06/07 | 10380 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
+2023/06/07 | 1037 | support/texlab/crates/texlab/src/features/definition/string.rs
+2023/06/07 | 1037 | graphics/asymptote/examples/animations/inlinemovie3.tex
+2023/06/07 | 1034 | graphics/asymptote/LspCpp/third_party/uri/deps/docs/index.md
+2023/06/07 | 103478 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.zh-cn.in
+2023/06/07 | 1033 | graphics/asymptote/examples/basealign.asy
+2023/06/07 | 103393 | graphics/asymptote/LspCpp/third_party/rapidjson/doc/Doxyfile.in
+2023/06/07 | 1031 | graphics/asymptote/LspCpp/third_party/uri/include/network/uri.hpp
+2023/06/07 | 10310 | graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/prettywritertest.cpp
+2023/06/07 | 1030 | graphics/asymptote/examples/workcone.asy
+2023/06/07 | 102 | graphics/asymptote/tests/gc/file.asy
+2023/06/07 | 102 | graphics/asymptote/GUI/res/icons/openpolygon.asy
+2023/06/07 | 102 | graphics/asymptote/GUI/res/icons/opencurve.asy
+2023/06/07 | 1028 | support/texlab/crates/texlab/src/features/completion/matcher.rs
+2023/06/07 | 10271 | graphics/asymptote/GUI/windows/custMatTransform.ui
+2023/06/07 | 1026 | graphics/asymptote/LspCpp/third_party/rapidjson/example/simplewriter/simplewriter.cpp
+2023/06/07 | 1022 | graphics/asymptote/GUI/res/icons/centerorigin.svg
+2023/06/07 | 10224 | graphics/asymptote/tr.cc
+2023/06/07 | 1020 | graphics/asymptote/flatguide.cc
+2023/06/07 | 1019 | graphics/asymptote/LspCpp/third_party/rapidjson/example/pretty/pretty.cpp
+2023/06/07 | 10196 | graphics/asymptote/doc/CAD.tex
+2023/06/07 | 10168 | graphics/asymptote/LspCpp/third_party/uri/test/uri_resolve_test.cpp
+2023/06/07 | 1015 | graphics/asymptote/GUI/xasyTransform.py
+2023/06/07 | 1014 | graphics/asymptote/LspCpp/third_party/rapidjson/example/condense/condense.cpp
+2023/06/07 | 101347 | graphics/asymptote/webgl/gl.js
+2023/06/07 | 10131 | graphics/asymptote/util.cc
+2023/06/07 | 10110 | graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/itoa.h
+2023/06/07 | 1010 | graphics/asymptote/examples/washermethod.asy
+2023/06/07 | 100 | graphics/asymptote/tests/io/input_with_nan.csv
+2023/06/07 | 100 | graphics/asymptote/GUI/DebugFlags.py
+2023/06/07 | 1009 | support/texlab/crates/symbols/src/workspace/snapshots/symbols__workspace__tests__filter_type_math.snap
+2023/06/07 | 1008 | support/texlab/crates/parser/src/test_data/bibtex/samples/averroes_1998.txt
+2023/06/07 | 1008 | graphics/asymptote/LspCpp/third_party/uri/src/CMakeLists.txt
+2023/06/07 | 1008 | graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
+2023/06/07 | 1008 | graphics/asymptote/doc/leastsquares.asy
+2023/06/07 | 1007 | support/texlab/crates/texlab/src/features/reference/label.rs
+2023/06/07 | 10073 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/include/gtest/gtest-spi.h
+2023/06/07 | 1005 | graphics/asymptote/doc/asy.1.begin
+2023/06/07 | 1004588 | systems/texlive/tlnet/archive/tilings.doc.r67292.tar.xz
+2023/06/07 | 10038 | graphics/asymptote/GUI/pyUIClass/custMatTransform.py
+2023/06/07 | 10023 | graphics/asymptote/LspCpp/third_party/uri/deps/googletest/test/googletest-catch-exceptions-test.py
+2023/06/07 | 1000 | graphics/asymptote/GUI/res/icons/chevron-with-circle-left.svg
+2023/06/07 | 1000 | graphics/asymptote/doc/FAQ/Makefile
+2023/06/07 | 10006 | graphics/asymptote/base/rationalSimplex.asy
+2023/06/07 | 100007 | graphics/asymptote/cudareflect/tinyexr/examples/exrview/ThirdPartyLibs/nativefiledialog/screens/open_cocoa.png
2023/06/06 | 9152 | systems/texlive/tlnet/archive/starray.r67286.tar.xz
+2023/06/06 | 8652 | macros/latex/contrib/tagpdf/ex-AF-file.pdf
+2023/06/06 | 8281 | macros/latex/contrib/tagpdf/global-ex.png
+2023/06/06 | 801 | macros/latex/contrib/tagpdf/ex-tagpdf-template.tex
+2023/06/06 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
+2023/06/06 | 777 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
2023/06/06 | 7604 | systems/texlive/tlnet/archive/context-sudoku.r67289.tar.xz
+2023/06/06 | 7300 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/06/06 | 6896 | systems/texlive/tlnet/archive/collection-latexextra.r67285.tar.xz
-2023/06/06 | 5735436 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/06/06 | 6842 | macros/latex/contrib/tagpdf/ex-softhyphen.pdf
+2023/06/06 | 6626 | macros/latex/contrib/tagpdf/ex-attribute-luatex.pdf
+2023/06/06 | 65056 | macros/latex/contrib/tagpdf/tagpdf-struct.dtx
+2023/06/06 | 5797 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.tex
2023/06/06 | 5122 | macros/latex/contrib/texshade/README
-2023/06/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/06/06 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/06/06 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/06/06 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/06/06 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/06/06 | 5109 | macros/latex/contrib/tagpdf/tagpdf-space.dtx
2023/06/06 | 488752 | systems/texlive/tlnet/archive/postit.doc.r67284.tar.xz
-2023/06/06 | 427072 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67283.tar.xz
-2023/06/06 | 4077069 | biblio/ctan-bibdata.zip
+2023/06/06 | 4618 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
+2023/06/06 | 4593 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
+2023/06/06 | 44243 | macros/latex/contrib/tagpdf/tagpdf-roles.dtx
+2023/06/06 | 4284 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma.tex
+2023/06/06 | 4153 | macros/latex/contrib/tagpdf/ex-alt-actualtext.tex
+2023/06/06 | 40936 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
+2023/06/06 | 3962 | macros/latex/contrib/tagpdf/tagpdf.ins
+2023/06/06 | 37453 | macros/latex/contrib/tagpdf/tagpdf-data.dtx
2023/06/06 | 3728 | systems/texlive/tlnet/archive/postit.r67284.tar.xz
-2023/06/06 | 3678600 | biblio/ctan-bibdata/ctan.pdf
2023/06/06 | 325858 | macros/latex/contrib/counterz.zip
-2023/06/06 | 2788844 | biblio/ctan-bibdata/ctan.bib
-2023/06/06 | 26025289 | systems/texlive/tlnet/install-tl.zip
-2023/06/06 | 2452964 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/06/06 | 31494 | macros/latex/contrib/tagpdf/tagpdf-checks.dtx
+2023/06/06 | 30507 | macros/latex/contrib/tagpdf/tagpdf-user.dtx
+2023/06/06 | 27200 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
+2023/06/06 | 2637 | macros/latex/contrib/tagpdf/ex-patch-list.tex
+2023/06/06 | 2528 | macros/latex/contrib/tagpdf/ex-patch-list-obsolete.tex
2023/06/06 | 239824 | macros/latex/contrib/censor.zip
+2023/06/06 | 23311 | macros/latex/contrib/tagpdf/acrobat.png
+2023/06/06 | 22818 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.pdf
+2023/06/06 | 2278 | macros/latex/contrib/tagpdf/tagpdf-code.tex
2023/06/06 | 220152 | systems/texlive/tlnet/archive/starray.doc.r67286.tar.xz
-2023/06/06 | 21036620 | systems/texlive/tlnet/install-tl-windows.exe
+2023/06/06 | 2150 | macros/latex/contrib/tagpdf/ex-mc-manual-para-split-obsolete.tex
+2023/06/06 | 21067 | macros/latex/contrib/tagpdf/ex-patch-sectioning-memoir.pdf
+2023/06/06 | 20874 | macros/latex/contrib/tagpdf/tagpdf.dtx
+2023/06/06 | 2022 | macros/latex/contrib/tagpdf/link-figure-input.tex
+2023/06/06 | 19363 | macros/latex/contrib/tagpdf/ex-tagpdf-template.pdf
+2023/06/06 | 19004 | macros/latex/contrib/postit/doc/postit-doc-fr.tex
2023/06/06 | 18463 | CTAN.sites
-2023/06/06 | 18120072 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/06/06 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
+2023/06/06 | 17742 | macros/latex/contrib/tagpdf/ex-alt-actualtext-luatex.pdf
+2023/06/06 | 17548 | macros/latex/contrib/tagpdf/tagpdf-tree.dtx
+2023/06/06 | 1730 | macros/latex/contrib/tagpdf/tagpdf.bib
2023/06/06 | 169160 | systems/texlive/tlnet/archive/profmaquette.doc.r67285.tar.xz
-2023/06/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/06/06 | 16888 | macros/latex/contrib/tagpdf/ex-patch-list-luatex.pdf
2023/06/06 | 1632 | systems/texlive/tlnet/archive/context-sudoku.doc.r67289.tar.xz
-2023/06/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/06/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/06/06 | 1564470 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
+2023/06/06 | 1537 | macros/latex/contrib/tagpdf/ex-structure-obsolete.tex
+2023/06/06 | 15315 | macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
+2023/06/06 | 15075 | macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
2023/06/06 | 1478694 | macros/latex/contrib/texshade/texshade.dtx
-2023/06/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/06/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/06/06 | 1428346 | macros/latex/contrib/texshade.zip
+2023/06/06 | 141163 | macros/latex/contrib/tagpdf/pac3.PNG
+2023/06/06 | 1398 | macros/latex/contrib/tagpdf/ex-attribute.tex
+2023/06/06 | 1237 | macros/latex/contrib/tagpdf/ex-AF-file.tex
2023/06/06 | 12148 | systems/texlive/tlnet/archive/profmaquette.r67285.tar.xz
-2023/06/06 | 114060 | systems/texlive/tlnet/archive/texlive-scripts.r67283.tar.xz
+2023/06/06 | 1177 | macros/latex/contrib/tagpdf/README.md
+2023/06/06 | 114286 | macros/latex/contrib/tagpdf/tagpdf.tex
2023/06/06 | 11173071 | support/latexindent.zip
+2023/06/06 | 1073 | macros/latex/contrib/tagpdf/ex-softhyphen.tex
+2023/06/06 | 1019 | macros/latex/contrib/tagpdf/ex-formula-problem.tex
+2023/06/06 | 1012495 | macros/latex/contrib/tagpdf/tagpdf.pdf
2023/06/05 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2023/06/05 | 97640 | macros/latex/contrib/l3kernel/l3seq.dtx
2023/06/05 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
@@ -53,7 +2685,6 @@
2023/06/05 | 7732 | systems/texlive/tlnet/archive/bibcop.r67278.tar.xz
2023/06/05 | 7472 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
2023/06/05 | 73835 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
-2023/06/05 | 7380 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/06/05 | 7352030 | macros/latex/contrib/l3kernel/source3.pdf
2023/06/05 | 715 | macros/latex/contrib/counterz/README.txt
2023/06/05 | 7079 | macros/latex/contrib/l3kernel/l3term-glossary.tex
@@ -78,10 +2709,8 @@
2023/06/05 | 4977 | macros/latex/contrib/l3kernel/l3news07.tex
2023/06/05 | 49722 | macros/latex/contrib/l3kernel/CHANGELOG.md
2023/06/05 | 49498 | macros/latex/contrib/l3kernel/l3text.dtx
-2023/06/05 | 494921 | macros/latex/contrib/postit/doc/postit-doc.pdf
2023/06/05 | 4937 | macros/latex/contrib/l3kernel/l3news01.tex
2023/06/05 | 49311 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
-2023/06/05 | 491142 | macros/latex/contrib/postit.zip
2023/06/05 | 4890 | macros/latex/contrib/l3kernel/l3news.tex
2023/06/05 | 47216 | macros/latex/contrib/l3kernel/l3fp-aux.dtx
2023/06/05 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
@@ -111,7 +2740,6 @@
2023/06/05 | 250136 | macros/latex/contrib/l3kernel/l3news09.pdf
2023/06/05 | 24896 | macros/latex/contrib/l3kernel/source3body.tex
2023/06/05 | 247256 | macros/latex/contrib/censor/censor.pdf
-2023/06/05 | 24568 | macros/latex/contrib/postit/tex/postit.sty
2023/06/05 | 243431 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
2023/06/05 | 2390 | macros/latex/contrib/l3kernel/l3docstrip.dtx
2023/06/05 | 23866 | macros/latex/contrib/l3kernel/l3luatex.dtx
@@ -126,7 +2754,6 @@
2023/06/05 | 19641 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
2023/06/05 | 194139 | macros/latex/contrib/profmaquette.zip
2023/06/05 | 19237 | macros/latex/contrib/l3kernel/l3pdf.dtx
-2023/06/05 | 18930 | macros/latex/contrib/postit/doc/postit-doc.tex
2023/06/05 | 18532 | macros/latex/contrib/l3kernel/l3fp-round.dtx
2023/06/05 | 1722452 | macros/latex/contrib/l3kernel/interface3.pdf
2023/06/05 | 1700 | systems/texlive/tlnet/archive/collection-publishers.r67281.tar.xz
@@ -145,6 +2772,7 @@
2023/06/05 | 140307 | macros/latex/contrib/l3kernel/l3file.dtx
2023/06/05 | 13993568 | install/macros/latex/contrib/l3kernel.tds.zip
2023/06/05 | 13734749 | macros/latex/contrib/l3kernel.zip
+2023/06/05 | 131864 | graphics/asymptote/ReleaseNotes
2023/06/05 | 131575 | macros/latex/contrib/l3kernel/l3basics.dtx
2023/06/05 | 128313 | macros/latex/contrib/l3kernel/l3news07.pdf
2023/06/05 | 12777 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
@@ -339,7 +2967,6 @@
2023/06/02 | 1676 | systems/texlive/tlnet/archive/collection-mathscience.r67258.tar.xz
2023/06/02 | 16221 | macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex
2023/06/02 | 161480 | systems/texlive/tlnet/archive/cjk-ko.doc.r67252.tar.xz
-2023/06/02 | 1596 | systems/texlive/tlnet/archive/collection-pictures.r67254.tar.xz
2023/06/02 | 1557 | fonts/simpleicons/tex/simpleicons.sty
2023/06/02 | 154855 | graphics/pgf/contrib/dynkin-diagrams/dynkin-diagrams.sty
2023/06/02 | 1500 | systems/texlive/tlnet/archive/circuit-macros.r67259.tar.xz
@@ -476,506 +3103,3 @@
2023/06/01 | 11142 | support/latexindent/LatexIndent/Heading.pm
2023/06/01 | 10620 | support/latexindent/LatexIndent/Command.pm
2023/06/01 | 10386 | macros/xetex/latex/exam-zh/CHANGELOG.md
-2023/05/31 | 991 | graphics/circuit_macros/examples/Byte.m4
-2023/05/31 | 988 | graphics/circuit_macros/examples/dpv/VariableDPV.m4
-2023/05/31 | 9869 | graphics/circuit_macros/examples/tubedefs.m4
-2023/05/31 | 981 | graphics/circuit_macros/doc/EmarrowsMan.m4
-2023/05/31 | 980 | graphics/circuit_macros/examples/extras/Cylinder.m4
-2023/05/31 | 9806 | graphics/pgf/contrib/string-diagrams/string-diagrams.dtx
-2023/05/31 | 977 | graphics/circuit_macros/examples/Emarrows.m4
-2023/05/31 | 970 | graphics/circuit_macros/examples/extras/Bridge.m4
-2023/05/31 | 970 | graphics/circuit_macros/doc/Flowdiag.m4
-2023/05/31 | 966 | graphics/circuit_macros/examples/dpv/ex15DPV.m4
-2023/05/31 | 953 | graphics/circuit_macros/examples/extras/squiggle.m4
-2023/05/31 | 95150 | graphics/circuit_macros/examples/mf/cct.mf
-2023/05/31 | 947 | graphics/circuit_macros/examples/dpv/QuantumDPV.m4
-2023/05/31 | 944 | graphics/circuit_macros/doc/VariableMan.m4
-2023/05/31 | 93856 | graphics/circuit_macros/libgen.m4
-2023/05/31 | 937 | graphics/circuit_macros/examples/dpv/ByteDPV.m4
-2023/05/31 | 932 | graphics/circuit_macros/examples/Variable.m4
-2023/05/31 | 9192 | language/korean/cjk-ko/cjk-ko-doc.tex
-2023/05/31 | 918 | graphics/circuit_macros/examples/Quantum.m4
-2023/05/31 | 917 | graphics/circuit_macros/examples/extras/birds.m4
-2023/05/31 | 901 | graphics/circuit_macros/examples/dpv/quickDPV.m4
-2023/05/31 | 8833 | graphics/circuit_macros/examples/Smithchart.m4
-2023/05/31 | 8810 | graphics/circuit_macros/examples/dpv/SmithchartDPV.m4
-2023/05/31 | 865 | graphics/circuit_macros/examples/ex18.m4
-2023/05/31 | 855 | graphics/circuit_macros/examples/dpv/ex03DPV.m4
-2023/05/31 | 8517 | graphics/circuit_macros/examples/dpv/expDPV.m4
-2023/05/31 | 8372 | graphics/circuit_macros/examples/exp.m4
-2023/05/31 | 835 | graphics/circuit_macros/doc/Opto.m4
-2023/05/31 | 831 | graphics/circuit_macros/doc/GroundsMan.m4
-2023/05/31 | 828 | graphics/circuit_macros/examples/Grounds.m4
-2023/05/31 | 810 | graphics/circuit_macros/examples/dpv/GroundsDPV.m4
-2023/05/31 | 801 | graphics/circuit_macros/doc/Potentiometers.m4
-2023/05/31 | 8006 | graphics/circuit_macros/examples/dpv/controlDPV.m4
-2023/05/31 | 793 | graphics/circuit_macros/examples/dpv/CountingDPV.m4
-2023/05/31 | 784 | graphics/circuit_macros/doc/MoreTableMan.m4
-2023/05/31 | 783 | graphics/circuit_macros/doc/Oblique.m4
-2023/05/31 | 7823 | graphics/circuit_macros/examples/extras/Clocks.m4
-2023/05/31 | 7778 | graphics/circuit_macros/examples/dpv/cscDPV.m4
-2023/05/31 | 774 | graphics/circuit_macros/examples/quick.m4
-2023/05/31 | 774 | graphics/circuit_macros/doc/quick.m4
-2023/05/31 | 7734 | graphics/circuit_macros/examples/csc.m4
-2023/05/31 | 772 | graphics/circuit_macros/examples/Incleps.m4
-2023/05/31 | 771 | graphics/circuit_macros/examples/extras/Attention.m4
-2023/05/31 | 7708 | graphics/circuit_macros/examples/shapes.m4
-2023/05/31 | 765 | graphics/circuit_macros/examples/extras/FieldLines.m4
-2023/05/31 | 764 | graphics/circuit_macros/examples/mf/cct.tfm
-2023/05/31 | 758 | graphics/circuit_macros/examples/dpv/Np.m4
-2023/05/31 | 7583 | graphics/circuit_macros/examples/extras/Chuck.m4
-2023/05/31 | 7546 | graphics/circuit_macros/examples/dpv/RectifiersDPV.m4
-2023/05/31 | 749 | graphics/circuit_macros/examples/mpost/README-mpost
-2023/05/31 | 7494 | graphics/circuit_macros/examples/dpv/shapesDPV.m4
-2023/05/31 | 747 | graphics/circuit_macros/examples/extras/SampleFlow.m4
-2023/05/31 | 745 | graphics/circuit_macros/examples/dpv/DecoderDPV.m4
-2023/05/31 | 7441 | language/korean/cjk-ko/cjkutf8-josa.sty
-2023/05/31 | 7418 | graphics/circuit_macros/examples/dpv/CsourceDPV.m4
-2023/05/31 | 7363 | graphics/circuit_macros/doc/SLDsMan.m4
-2023/05/31 | 724 | graphics/circuit_macros/examples/Connectors.m4
-2023/05/31 | 720 | graphics/circuit_macros/examples/extras/README_extras
-2023/05/31 | 7203 | graphics/circuit_macros/examples/dpv/lcctDPV.m4
-2023/05/31 | 715 | graphics/circuit_macros/examples/psfrag/examplespsfrag.tex
-2023/05/31 | 715 | graphics/circuit_macros/examples/dpv/ConnectorsDPV.m4
-2023/05/31 | 7127 | graphics/circuit_macros/examples/lcct.m4
-2023/05/31 | 7112 | graphics/circuit_macros/examples/control.m4
-2023/05/31 | 709 | graphics/circuit_macros/examples/Inclpdf.m4
-2023/05/31 | 706 | graphics/circuit_macros/psfrag.m4
-2023/05/31 | 7006 | graphics/circuit_macros/examples/Rectifiers.m4
-2023/05/31 | 6911467 | graphics/pgf/contrib/pgf-periodictable.zip
-2023/05/31 | 685 | graphics/circuit_macros/examples/mpost/mptest
-2023/05/31 | 6854 | graphics/circuit_macros/examples/dpv/DiniDPV.m4
-2023/05/31 | 6854 | graphics/circuit_macros/examples/Dini.m4
-2023/05/31 | 682 | graphics/circuit_macros/examples/dpv/ujtDPV.m4
-2023/05/31 | 673 | graphics/circuit_macros/examples/ex03.m4
-2023/05/31 | 666 | graphics/circuit_macros/examples/extras/Pipe.m4
-2023/05/31 | 660 | graphics/circuit_macros/examples/ujt.m4
-2023/05/31 | 660 | graphics/circuit_macros/doc/ujtMan.m4
-2023/05/31 | 657 | graphics/circuit_macros/examples/extras/PerpTo.m4
-2023/05/31 | 657044 | systems/texlive/tlnet/archive/luacas.doc.r67247.tar.xz
-2023/05/31 | 656 | graphics/circuit_macros/examples/extras/Zcos.m4
-2023/05/31 | 655 | graphics/circuit_macros/examples/Decoder.m4
-2023/05/31 | 6552 | graphics/circuit_macros/examples/extras/Makefile
-2023/05/31 | 654 | graphics/circuit_macros/examples/diamond.m4
-2023/05/31 | 6467 | graphics/circuit_macros/examples/dpv/CanLogicDPV.m4
-2023/05/31 | 645 | graphics/circuit_macros/examples/extras/Floor.m4
-2023/05/31 | 6425 | graphics/circuit_macros/examples/CanLogic.m4
-2023/05/31 | 63 | graphics/circuit_macros/examples/dpv/local_init.m4
-2023/05/31 | 63948 | systems/texlive/tlnet/archive/luacas.r67247.tar.xz
-2023/05/31 | 6285 | graphics/circuit_macros/examples/dpv/EscherDPV.m4
-2023/05/31 | 6282 | graphics/circuit_macros/examples/Escher.m4
-2023/05/31 | 6270 | graphics/circuit_macros/examples/ASME_Y14-5.m4def
-2023/05/31 | 6254 | graphics/circuit_macros/examples/Plate.m4
-2023/05/31 | 6216 | graphics/circuit_macros/examples/dpv/LgateDPV.m4
-2023/05/31 | 6156 | graphics/circuit_macros/examples/dpv/PlateDPV.m4
-2023/05/31 | 614 | graphics/circuit_macros/doc/BigResistor.m4
-2023/05/31 | 6130 | graphics/circuit_macros/examples/dpv/Makefile
-2023/05/31 | 609 | graphics/circuit_macros/examples/dpv/README_svg
-2023/05/31 | 609 | graphics/circuit_macros/examples/dpv/diamondDPV.m4
-2023/05/31 | 6003 | graphics/circuit_macros/examples/extras/CSlight.m4
-2023/05/31 | 5969 | graphics/circuit_macros/examples/xfig/xfiglib.m4
-2023/05/31 | 591 | graphics/circuit_macros/examples/test.m4
-2023/05/31 | 5889 | graphics/circuit_macros/examples/Csource.m4
-2023/05/31 | 577 | graphics/circuit_macros/doc/QTrans.m4
-2023/05/31 | 5730 | graphics/circuit_macros/examples/extras/Planes.m4
-2023/05/31 | 56 | graphics/circuit_macros/doc/opampex.m4
-2023/05/31 | 563 | graphics/circuit_macros/examples/dpv/RotboxDPV.m4
-2023/05/31 | 560 | graphics/circuit_macros/doc/heaterMan.m4
-2023/05/31 | 558 | graphics/circuit_macros/examples/extras/hsv.m4
-2023/05/31 | 557 | graphics/circuit_macros/examples/heater.m4
-2023/05/31 | 555 | graphics/circuit_macros/examples/dpv/FontsDPV.m4
-2023/05/31 | 555900 | systems/texlive/tlnet/archive/ufrgscca.doc.r67246.tar.xz
-2023/05/31 | 551 | graphics/circuit_macros/examples/extras/Counting.m4
-2023/05/31 | 5486 | graphics/circuit_macros/examples/graysurf.m4
-2023/05/31 | 5485 | graphics/circuit_macros/examples/rose.m4
-2023/05/31 | 5485 | graphics/circuit_macros/examples/dpv/roseDPV.m4
-2023/05/31 | 5469 | graphics/circuit_macros/examples/dpv/graysurfDPV.m4
-2023/05/31 | 538 | graphics/circuit_macros/examples/dpv/AmpTableDPV.m4
-2023/05/31 | 5365 | graphics/circuit_macros/examples/dpv/fetDPV.m4
-2023/05/31 | 535 | graphics/circuit_macros/doc/Tline.m4
-2023/05/31 | 533 | graphics/circuit_macros/examples/Rotbox.m4
-2023/05/31 | 532 | graphics/circuit_macros/examples/dpv/NLGDPV.m4
-2023/05/31 | 5315 | graphics/circuit_macros/doc/fetMan.m4
-2023/05/31 | 5311 | graphics/circuit_macros/examples/fet.m4
-2023/05/31 | 5228 | graphics/circuit_macros/examples/dpv/GeometryDPV.m4
-2023/05/31 | 5174 | graphics/circuit_macros/examples/dpv/FlowDPV.m4
-2023/05/31 | 5132 | graphics/circuit_macros/examples/dpv/SwitchesDPV.m4
-2023/05/31 | 50 | graphics/circuit_macros/doc/bitr.m4
-2023/05/31 | 5095 | graphics/circuit_macros/doc/Makefile
-2023/05/31 | 5093 | graphics/circuit_macros/examples/Geometry.m4
-2023/05/31 | 499 | graphics/circuit_macros/examples/NLG.m4
-2023/05/31 | 499 | graphics/circuit_macros/doc/NLGMan.m4
-2023/05/31 | 497 | graphics/circuit_macros/examples/mpost/examplesmpost.tex
-2023/05/31 | 494 | graphics/circuit_macros/examples/AmpTable.m4
-2023/05/31 | 494 | graphics/circuit_macros/doc/AmpTableMan.m4
-2023/05/31 | 489 | graphics/circuit_macros/examples/extras/Koch.m4
-2023/05/31 | 4885 | graphics/circuit_macros/examples/EEP.m4
-2023/05/31 | 483 | graphics/circuit_macros/doc/eboxdims.m4
-2023/05/31 | 48258 | graphics/circuit_macros/liblog.m4
-2023/05/31 | 4792 | graphics/circuit_macros/examples/Flow.m4
-2023/05/31 | 4784 | graphics/circuit_macros/examples/psfrag/Makefile
-2023/05/31 | 4782 | graphics/circuit_macros/examples/Switches.m4
-2023/05/31 | 4780 | graphics/circuit_macros/doc/SwitchesMan.m4
-2023/05/31 | 475 | graphics/circuit_macros/examples/extras/Wheel.m4
-2023/05/31 | 4757 | graphics/circuit_macros/examples/dpv/EEPDPV.m4
-2023/05/31 | 475723 | graphics/pgf/contrib/string-diagrams/string-diagrams.pdf
-2023/05/31 | 4748 | graphics/circuit_macros/examples/dpv/sfgDPV.m4
-2023/05/31 | 467163 | graphics/pgf/contrib/string-diagrams.zip
-2023/05/31 | 4661 | graphics/circuit_macros/examples/extras/Shadow.m4
-2023/05/31 | 464 | graphics/circuit_macros/examples/tsttikz.tex
-2023/05/31 | 4638 | graphics/circuit_macros/examples/Ball.m4
-2023/05/31 | 462 | graphics/circuit_macros/Copying
-2023/05/31 | 4624 | language/korean/cjk-ko/kolabels-utf.sty
-2023/05/31 | 4615 | graphics/circuit_macros/examples/mf/font.m4
-2023/05/31 | 460 | graphics/circuit_macros/examples/debug1.tex
-2023/05/31 | 455 | graphics/circuit_macros/doc/sampleIC.m4
-2023/05/31 | 45323 | graphics/circuit_macros/examples/Incl.eps.gz
-2023/05/31 | 4502 | graphics/circuit_macros/examples/mpost/Makefile
-2023/05/31 | 4501 | graphics/circuit_macros/examples/extras/Lyap.m4
-2023/05/31 | 449 | graphics/circuit_macros/examples/extras/Wheat.m4
-2023/05/31 | 449 | graphics/circuit_macros/doc/woodchips.m4
-2023/05/31 | 4475 | graphics/circuit_macros/doc/Circuit_macros.bib
-2023/05/31 | 4376 | graphics/circuit_macros/examples/dpv/slddiagsDPV.m4
-2023/05/31 | 4340 | graphics/circuit_macros/examples/dpv/AlogixDPV.m4
-2023/05/31 | 4313 | graphics/circuit_macros/examples/ex09.m4
-2023/05/31 | 4299 | language/korean/cjk-ko/README
-2023/05/31 | 4292 | graphics/circuit_macros/examples/dpv/InclepsDPV.m4
-2023/05/31 | 4292 | graphics/circuit_macros/examples/dpv/BtreeDPV.m4
-2023/05/31 | 421 | graphics/circuit_macros/doc/Sinus.m4
-2023/05/31 | 419 | graphics/circuit_macros/examples/Sixpole.m4
-2023/05/31 | 419 | graphics/circuit_macros/examples/dpv/SixpoleDPV.m4
-2023/05/31 | 418 | graphics/circuit_macros/examples/mpost/tstmpost.tex
-2023/05/31 | 417 | graphics/circuit_macros/examples/dpv/SQUIDDPV.m4
-2023/05/31 | 416 | graphics/circuit_macros/examples/testpdf.tex
-2023/05/31 | 4162 | graphics/circuit_macros/examples/Alogix.m4
-2023/05/31 | 41403 | graphics/circuit_macros/examples/Lettering.m4def
-2023/05/31 | 4119 | graphics/circuit_macros/examples/dpv/ex09DPV.m4
-2023/05/31 | 4114 | graphics/circuit_macros/examples/extras/brace.m4
-2023/05/31 | 410 | graphics/circuit_macros/examples/extras/RandomNodes.m4
-2023/05/31 | 409 | graphics/circuit_macros/examples/tst.tex
-2023/05/31 | 4081 | language/korean/cjk-ko/konames-utf.sty
-2023/05/31 | 404 | graphics/circuit_macros/doc/Series.m4
-2023/05/31 | 4002 | graphics/circuit_macros/examples/extras/Euro.m4
-2023/05/31 | 3954 | graphics/circuit_macros/examples/PushPull.m4
-2023/05/31 | 3949 | graphics/circuit_macros/examples/sfg.m4
-2023/05/31 | 387 | graphics/circuit_macros/doc/lrarrows.m4
-2023/05/31 | 3848 | graphics/circuit_macros/examples/Mixer.m4
-2023/05/31 | 3825 | graphics/circuit_macros/examples/recycle.m4
-2023/05/31 | 3825 | graphics/circuit_macros/examples/dpv/recycleDPV.m4
-2023/05/31 | 3820 | graphics/circuit_macros/doc/CanLogicMan.tex
-2023/05/31 | 380 | graphics/circuit_macros/examples/SQUID.m4
-2023/05/31 | 3794 | graphics/circuit_macros/INSTALL
-2023/05/31 | 3778 | graphics/circuit_macros/examples/dpv/PushPullDPV.m4
-2023/05/31 | 3756 | graphics/circuit_macros/examples/dpv/randomDPV.m4
-2023/05/31 | 3749 | graphics/circuit_macros/examples/extras/Shaky.m4
-2023/05/31 | 3727 | graphics/circuit_macros/examples/random.m4
-2023/05/31 | 371 | graphics/circuit_macros/examples/psfrag/tstpsfrag.tex
-2023/05/31 | 3672141 | graphics/circuit_macros.zip
-2023/05/31 | 365 | graphics/circuit_macros/examples/extras/rotellipse.m4
-2023/05/31 | 3646 | graphics/circuit_macros/examples/dpv/ContactDPV.m4
-2023/05/31 | 3631 | graphics/circuit_macros/examples/dpv/wormDPV.m4
-2023/05/31 | 359 | graphics/circuit_macros/examples/extras/TR_fill.m4
-2023/05/31 | 3567 | graphics/circuit_macros/examples/dpv/ButtonsDPV.m4
-2023/05/31 | 353 | graphics/circuit_macros/examples/windows.m4
-2023/05/31 | 353 | graphics/circuit_macros/examples/dpv/windows.m4
-2023/05/31 | 3522 | graphics/circuit_macros/examples/dpv/ex12DPV.m4
-2023/05/31 | 3510 | graphics/circuit_macros/examples/ex05.m4
-2023/05/31 | 3509 | graphics/circuit_macros/examples/Buttons.m4
-2023/05/31 | 3489 | graphics/circuit_macros/examples/dpv/MixerDPV.m4
-2023/05/31 | 3487 | graphics/pgf/contrib/string-diagrams/README.md
-2023/05/31 | 3473 | graphics/circuit_macros/examples/dpv/MCDPV.m4
-2023/05/31 | 3464 | graphics/circuit_macros/examples/Contact.m4
-2023/05/31 | 34160 | systems/texlive/tlnet/archive/ufrgscca.r67246.tar.xz
-2023/05/31 | 3390 | graphics/circuit_macros/examples/dpv/ex05DPV.m4
-2023/05/31 | 3388 | graphics/circuit_macros/examples/README-examples
-2023/05/31 | 337 | graphics/circuit_macros/examples/xfig/Makefile
-2023/05/31 | 3346 | graphics/circuit_macros/examples/Windings.m4
-2023/05/31 | 3346 | graphics/circuit_macros/doc/WindingsMan.m4
-2023/05/31 | 3339 | graphics/circuit_macros/examples/ex12.m4
-2023/05/31 | 3326 | graphics/circuit_macros/doc/ContactMan.m4
-2023/05/31 | 3321 | graphics/circuit_macros/examples/thyristor.m4
-2023/05/31 | 3321 | graphics/circuit_macros/doc/thyristorMan.m4
-2023/05/31 | 3310 | graphics/circuit_macros/examples/dpv/thyristorDPV.m4
-2023/05/31 | 32 | graphics/circuit_macros/examples/Incl.eps.bb
-2023/05/31 | 329 | graphics/circuit_macros/doc/FF.m4
-2023/05/31 | 32773 | graphics/circuit_macros/libSLD.m4
-2023/05/31 | 3198 | graphics/circuit_macros/examples/Btree.m4
-2023/05/31 | 317 | graphics/circuit_macros/examples/psfrag/README-psfrag.txt
-2023/05/31 | 3174 | language/korean/cjk-ko/ChangeLog
-2023/05/31 | 3091 | graphics/circuit_macros/examples/dpv/TtreeDPV.m4
-2023/05/31 | 3072 | graphics/circuit_macros/examples/extras/OneLine.m4
-2023/05/31 | 30451 | graphics/circuit_macros/examples/dpv/LoglogDPV.m4
-2023/05/31 | 3019 | graphics/circuit_macros/doc/Circuit_macros.tex
-2023/05/31 | 2994 | graphics/circuit_macros/examples/dpv/WindingsDPV.m4
-2023/05/31 | 2989 | graphics/circuit_macros/examples/dpv/AutoencoderDPV.m4
-2023/05/31 | 2986 | graphics/circuit_macros/examples/MC.m4
-2023/05/31 | 29772 | graphics/circuit_macros/examples/Incl.pdf
-2023/05/31 | 295 | graphics/circuit_macros/examples/extras/ShadeSector.m4
-2023/05/31 | 2912 | graphics/circuit_macros/doc/Workflow.m4
-2023/05/31 | 2846 | graphics/circuit_macros/examples/extras/Metamodel.m4
-2023/05/31 | 2834 | graphics/circuit_macros/postscript.m4
-2023/05/31 | 2801 | graphics/circuit_macros/examples/worm.m4
-2023/05/31 | 2777 | graphics/circuit_macros/examples/extras/OpAmpFilter.m4
-2023/05/31 | 2720 | graphics/circuit_macros/examples/dpv/AudioDPV.m4
-2023/05/31 | 27105 | graphics/circuit_macros/examples/Consumption.m4
-2023/05/31 | 26 | graphics/circuit_macros/doc/DCsymbol.m4
-2023/05/31 | 26 | graphics/circuit_macros/doc/ACsymbol.m4
-2023/05/31 | 269 | graphics/circuit_macros/doc/Loop.m4
-2023/05/31 | 2685 | language/korean/cjk-ko/kotex.sty
-2023/05/31 | 2685 | graphics/circuit_macros/examples/dpv/ex11DPV.m4
-2023/05/31 | 2634 | graphics/circuit_macros/examples/Audio.m4
-2023/05/31 | 2634 | graphics/circuit_macros/doc/AudioMan.m4
-2023/05/31 | 2629 | graphics/circuit_macros/examples/dpv/ex01DPV.m4
-2023/05/31 | 25778 | graphics/pgf/contrib/pgf-periodictable/manualfiles/pgfPTmanual.macros.tex
-2023/05/31 | 2562 | graphics/circuit_macros/examples/Crow.m4
-2023/05/31 | 2559 | graphics/circuit_macros/examples/dpv/ex08DPV.m4
-2023/05/31 | 2556 | graphics/circuit_macros/examples/ex08.m4
-2023/05/31 | 2551 | graphics/circuit_macros/examples/dpv/OptoisoDPV.m4
-2023/05/31 | 2528 | graphics/circuit_macros/examples/dpv/AdderDPV.m4
-2023/05/31 | 2525 | graphics/circuit_macros/examples/dpv/CrowDPV.m4
-2023/05/31 | 2517 | graphics/circuit_macros/examples/extras/Autoencoder.m4
-2023/05/31 | 25103 | graphics/circuit_macros/examples/dpv/examplesDPVs.htmx
-2023/05/31 | 25098 | graphics/circuit_macros/examples/dpv/examplesDPV.htmx
-2023/05/31 | 245 | graphics/circuit_macros/examples/extras/Ccurve.m4
-2023/05/31 | 2443 | graphics/circuit_macros/examples/dpv/ex00DPV.m4
-2023/05/31 | 2442 | graphics/circuit_macros/examples/Optoiso.m4
-2023/05/31 | 2427 | graphics/circuit_macros/doc/AlogixMan.m4
-2023/05/31 | 2412 | graphics/circuit_macros/examples/ex00.m4
-2023/05/31 | 2402 | graphics/circuit_macros/examples/Adder.m4
-2023/05/31 | 2389 | graphics/circuit_macros/doc/Dac.m4
-2023/05/31 | 2385 | graphics/circuit_macros/examples/extras/Highgain.m4
-2023/05/31 | 23704 | graphics/circuit_macros/examples/dpv/UNODPV.m4
-2023/05/31 | 2362 | graphics/circuit_macros/examples/Jack.m4
-2023/05/31 | 2362 | graphics/circuit_macros/doc/JackMan.m4
-2023/05/31 | 2361 | graphics/circuit_macros/examples/ex11.m4
-2023/05/31 | 23618 | graphics/circuit_macros/dpictools.pic
-2023/05/31 | 2353 | graphics/circuit_macros/doc/ConnMan.m4
-2023/05/31 | 2351 | graphics/circuit_macros/examples/Conn.m4
-2023/05/31 | 23171 | graphics/circuit_macros/examples/UNO.m4
-2023/05/31 | 2304 | graphics/circuit_macros/examples/Loglog.m4
-2023/05/31 | 2294 | graphics/circuit_macros/examples/ex01.m4
-2023/05/31 | 2292 | graphics/circuit_macros/examples/dpv/ConnDPV.m4
-2023/05/31 | 2275 | graphics/circuit_macros/pdf.m4
-2023/05/31 | 2225 | graphics/circuit_macros/doc/SourcesMan.m4
-2023/05/31 | 221 | graphics/circuit_macros/examples/rotate.tex
-2023/05/31 | 219 | graphics/circuit_macros/examples/tst1.tex
-2023/05/31 | 217 | graphics/circuit_macros/doc/stringdims.m4
-2023/05/31 | 2171 | graphics/circuit_macros/examples/dpv/I2LDPV.m4
-2023/05/31 | 2167 | graphics/circuit_macros/examples/extras/Obliq.m4
-2023/05/31 | 2165 | graphics/circuit_macros/examples/Sources.m4
-2023/05/31 | 215902 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
-2023/05/31 | 21424 | graphics/circuit_macros/examples/xfig/xfiglib.fig
-2023/05/31 | 21384 | graphics/circuit_macros/examples/dpv/Incl.jpg
-2023/05/31 | 2119 | graphics/circuit_macros/examples/Logic.m4
-2023/05/31 | 2119 | graphics/circuit_macros/doc/LogicMan.m4
-2023/05/31 | 2099 | graphics/circuit_macros/pstricks.m4
-2023/05/31 | 2086 | graphics/circuit_macros/examples/relaycoil.m4
-2023/05/31 | 2086 | graphics/circuit_macros/examples/extras/Eye.m4
-2023/05/31 | 2086 | graphics/circuit_macros/doc/relaycoilMan.m4
-2023/05/31 | 2085 | graphics/circuit_macros/pgf.m4
-2023/05/31 | 2069 | graphics/circuit_macros/examples/dpv/relaycoilDPV.m4
-2023/05/31 | 2068 | graphics/circuit_macros/examples/I2L.m4
-2023/05/31 | 2051 | graphics/circuit_macros/examples/dpv/JackDPV.m4
-2023/05/31 | 2027 | graphics/circuit_macros/examples/dpv/pwrsupplyDPV.m4
-2023/05/31 | 2018 | graphics/circuit_macros/examples/dpv/ex06DPV.m4
-2023/05/31 | 2014 | graphics/circuit_macros/examples/pwrsupply.m4
-2023/05/31 | 2013 | graphics/circuit_macros/doc/HybridPi.m4
-2023/05/31 | 2000 | graphics/circuit_macros/examples/ex21.m4
-2023/05/31 | 1997 | graphics/circuit_macros/examples/Pconn.m4
-2023/05/31 | 1996 | graphics/circuit_macros/examples/dpv/FourbarDPV.m4
-2023/05/31 | 1995 | graphics/circuit_macros/doc/Corners.m4
-2023/05/31 | 1990 | graphics/circuit_macros/examples/extras/Hexagon.m4
-2023/05/31 | 1985 | graphics/circuit_macros/examples/dpv/XORDPV.m4
-2023/05/31 | 1982 | graphics/circuit_macros/doc/PconnMan.m4
-2023/05/31 | 19767 | graphics/circuit_macros/examples/files.tex
-2023/05/31 | 1975 | graphics/circuit_macros/doc/FlipFlop.m4
-2023/05/31 | 1966 | graphics/circuit_macros/examples/Drive.m4
-2023/05/31 | 1966 | graphics/circuit_macros/examples/dpv/DriveDPV.m4
-2023/05/31 | 1961 | graphics/circuit_macros/examples/extras/Flow2.m4
-2023/05/31 | 1959 | graphics/circuit_macros/examples/debug2.m4
-2023/05/31 | 1955 | graphics/circuit_macros/examples/dpv/ABlogixDPV.m4
-2023/05/31 | 1953 | graphics/circuit_macros/examples/dpv/MotorControlDPV.m4
-2023/05/31 | 1953 | graphics/circuit_macros/doc/Buffer.m4
-2023/05/31 | 1931 | graphics/circuit_macros/examples/dpv/LogicDPV.m4
-2023/05/31 | 1922 | graphics/circuit_macros/examples/MotorControl.m4
-2023/05/31 | 19176 | graphics/circuit_macros/Licence.txt
-2023/05/31 | 1916 | graphics/circuit_macros/examples/extras/venus.m4
-2023/05/31 | 1907 | graphics/circuit_macros/examples/dpv/SourcesDPV.m4
-2023/05/31 | 1906 | graphics/circuit_macros/examples/extras/SPM.m4
-2023/05/31 | 1902473 | graphics/circuit_macros/examples/examples.pdf
-2023/05/31 | 1894 | graphics/circuit_macros/examples/dpv/ArrowFnDPV.m4
-2023/05/31 | 1893 | graphics/circuit_macros/examples/dpv/ex16DPV.m4
-2023/05/31 | 1891 | graphics/circuit_macros/examples/dpv/ex04DPV.m4
-2023/05/31 | 1882 | graphics/circuit_macros/examples/dpv/ex21DPV.m4
-2023/05/31 | 1880 | graphics/circuit_macros/examples/extras/Fefets.m4
-2023/05/31 | 1879 | graphics/circuit_macros/examples/extras/Cruller.m4
-2023/05/31 | 1875 | graphics/circuit_macros/examples/dpv/GrayCodeDPV.m4
-2023/05/31 | 1874 | graphics/circuit_macros/examples/dpv/CrullerDPV.m4
-2023/05/31 | 186931 | graphics/circuit_macros/libcct.m4
-2023/05/31 | 1865 | graphics/circuit_macros/examples/ex16.m4
-2023/05/31 | 1860 | graphics/circuit_macros/doc/bi_trans.m4
-2023/05/31 | 1857 | graphics/circuit_macros/doc/Composite.m4
-2023/05/31 | 1852 | graphics/circuit_macros/examples/extras/Orbits.m4
-2023/05/31 | 1837 | graphics/circuit_macros/examples/dpv/SchottkyDPV.m4
-2023/05/31 | 1832 | language/korean/cjk-ko/cjkutf8-nanummjhanja.sty
-2023/05/31 | 1823 | graphics/circuit_macros/examples/XOR.m4
-2023/05/31 | 1818 | graphics/circuit_macros/examples/GrayCode.m4
-2023/05/31 | 1812 | graphics/circuit_macros/examples/dpv/BipDPV.m4
-2023/05/31 | 1795 | graphics/circuit_macros/examples/extras/Stator.m4
-2023/05/31 | 1790 | graphics/circuit_macros/doc/DiodesMan.m4
-2023/05/31 | 1787 | graphics/circuit_macros/examples/Diodes.m4
-2023/05/31 | 1786 | graphics/circuit_macros/examples/extras/ArrowFn.m4
-2023/05/31 | 1781 | graphics/circuit_macros/examples/dpv/PconnDPV.m4
-2023/05/31 | 1778 | graphics/circuit_macros/examples/Schottky.m4
-2023/05/31 | 1766 | graphics/circuit_macros/examples/examples.tex
-2023/05/31 | 175464 | language/korean/cjk-ko.zip
-2023/05/31 | 174357 | language/korean/cjk-ko/cjk-ko-doc.pdf
-2023/05/31 | 173 | graphics/circuit_macros/doc/AutologixMan.m4
-2023/05/31 | 1737 | graphics/circuit_macros/examples/dpv/ContactsDPV.m4
-2023/05/31 | 1730 | graphics/circuit_macros/examples/ABlogix.m4
-2023/05/31 | 1700 | graphics/circuit_macros/examples/ex06.m4
-2023/05/31 | 1700 | graphics/circuit_macros/examples/dpv/EyeDPV.m4
-2023/05/31 | 1699 | graphics/circuit_macros/examples/dpv/ex10DPV.m4
-2023/05/31 | 1668 | graphics/circuit_macros/examples/extras/IC10107.m4
-2023/05/31 | 1668 | graphics/circuit_macros/examples/dpv/Banking.m4
-2023/05/31 | 165 | graphics/circuit_macros/doc/tranbody.m4
-2023/05/31 | 1654 | graphics/circuit_macros/examples/ex04.m4
-2023/05/31 | 1647 | graphics/circuit_macros/examples/dpv/DiodesDPV.m4
-2023/05/31 | 1644 | graphics/pgf/contrib/string-diagrams/string-diagrams.ins
-2023/05/31 | 1640 | graphics/circuit_macros/mpost.m4
-2023/05/31 | 1639 | graphics/circuit_macros/Makefile
-2023/05/31 | 1630 | graphics/circuit_macros/examples/dpv/TTLnandDPV.m4
-2023/05/31 | 1626 | graphics/circuit_macros/examples/dpv/ArrestersDPV.m4
-2023/05/31 | 1624 | graphics/circuit_macros/doc/ParSeries.m4
-2023/05/31 | 1619 | graphics/circuit_macros/examples/Bip.m4
-2023/05/31 | 1619 | graphics/circuit_macros/doc/BipMan.m4
-2023/05/31 | 1618 | graphics/circuit_macros/doc/ArrestersMan.m4
-2023/05/31 | 1615 | graphics/circuit_macros/examples/Arresters.m4
-2023/05/31 | 1612 | graphics/circuit_macros/examples/extras/ASMEbox.m4
-2023/05/31 | 1612 | graphics/circuit_macros/examples/dpv/TimerDPV.m4
-2023/05/31 | 15928 | graphics/circuit_macros/README
-2023/05/31 | 1588 | graphics/circuit_macros/examples/MoreTable.m4
-2023/05/31 | 158601 | graphics/circuit_macros/doc/body.tex
-2023/05/31 | 1585 | graphics/circuit_macros/examples/dpv/MoreTableDPV.m4
-2023/05/31 | 1585 | graphics/circuit_macros/examples/Contacts.m4
-2023/05/31 | 1585 | graphics/circuit_macros/doc/ContactsMan.m4
-2023/05/31 | 1575 | graphics/circuit_macros/doc/mplex.m4
-2023/05/31 | 1559 | graphics/circuit_macros/examples/dpv/XformDPV.m4
-2023/05/31 | 1558 | graphics/circuit_macros/examples/TTLnand.m4
-2023/05/31 | 1546 | graphics/circuit_macros/examples/dpv/Xtest.m4
-2023/05/31 | 1536 | graphics/circuit_macros/doc/XformMan.m4
-2023/05/31 | 1529 | graphics/circuit_macros/examples/mf/Makefile
-2023/05/31 | 1526 | graphics/circuit_macros/examples/Xform.m4
-2023/05/31 | 1525 | graphics/circuit_macros/examples/rotatetext.m4
-2023/05/31 | 150 | graphics/circuit_macros/doc/Thermal.m4
-2023/05/31 | 1492 | graphics/circuit_macros/examples/ex10.m4
-2023/05/31 | 1485 | graphics/circuit_macros/examples/Demultiplexer.m4
-2023/05/31 | 1485 | graphics/circuit_macros/doc/DemultiplexerMan.m4
-2023/05/31 | 1463 | graphics/circuit_macros/doc/Taps.m4
-2023/05/31 | 1458 | graphics/circuit_macros/examples/header.tex
-2023/05/31 | 1444 | graphics/circuit_macros/examples/dpv/ThreeDPV.m4
-2023/05/31 | 1443 | graphics/circuit_macros/examples/Inductors.m4
-2023/05/31 | 1443 | graphics/circuit_macros/examples/extras/Resolver.m4
-2023/05/31 | 1433 | graphics/circuit_macros/examples/Opamp.m4
-2023/05/31 | 1433 | graphics/circuit_macros/doc/OpampMan.m4
-2023/05/31 | 1431 | graphics/circuit_macros/examples/dpv/RelayDPV.m4
-2023/05/31 | 14279 | graphics/circuit_macros/darrow.m4
-2023/05/31 | 14202 | graphics/circuit_macros/CHANGES
-2023/05/31 | 14181 | language/korean/cjk-ko/cjkutf8-ko.sty
-2023/05/31 | 1406 | graphics/circuit_macros/examples/ShiftR.m4
-2023/05/31 | 1406 | graphics/circuit_macros/doc/ShiftRMan.m4
-2023/05/31 | 1403 | graphics/circuit_macros/examples/dpv/MultiplexerDPV.m4
-2023/05/31 | 1400 | graphics/circuit_macros/examples/Multiplexer.m4
-2023/05/31 | 1400 | graphics/circuit_macros/doc/MultiplexerMan.m4
-2023/05/31 | 13 | graphics/circuit_macros/doc/Version.tex
-2023/05/31 | 137 | graphics/circuit_macros/doc/opampexbody.m4
-2023/05/31 | 13797 | graphics/circuit_macros/examples/dpv/tstDPV.htmx
-2023/05/31 | 1375 | graphics/circuit_macros/examples/extras/ControlLoop.m4
-2023/05/31 | 1373 | graphics/circuit_macros/examples/extras/person.m4
-2023/05/31 | 1373 | graphics/circuit_macros/examples/dpv/DemultiplexerDPV.m4
-2023/05/31 | 1353 | graphics/circuit_macros/doc/FusesMan.m4
-2023/05/31 | 1343 | graphics/circuit_macros/examples/dpv/InductorsDPV.m4
-2023/05/31 | 1342 | graphics/circuit_macros/doc/InductorsMan.m4
-2023/05/31 | 13420 | graphics/circuit_macros/examples/Heathkit.m4
-2023/05/31 | 1337 | graphics/circuit_macros/examples/Fuses.m4
-2023/05/31 | 1331 | graphics/circuit_macros/examples/Sierpinski.m4
-2023/05/31 | 1331 | graphics/circuit_macros/examples/dpv/SierpinskiDPV.m4
-2023/05/31 | 1329 | graphics/circuit_macros/doc/currents.m4
-2023/05/31 | 13294 | graphics/circuit_macros/examples/Tubediags.m4
-2023/05/31 | 131 | graphics/circuit_macros/doc/Axes.m4
-2023/05/31 | 1319 | graphics/circuit_macros/doc/SRffMan.m4
-2023/05/31 | 1313 | graphics/circuit_macros/examples/dpv/ShiftRDPV.m4
-2023/05/31 | 130 | graphics/circuit_macros/doc/bitrbody.m4
-2023/05/31 | 1292 | graphics/circuit_macros/doc/ConfigC.m4
-2023/05/31 | 1287 | graphics/circuit_macros/examples/Three.m4
-2023/05/31 | 1279 | graphics/circuit_macros/examples/extras/Star.m4
-2023/05/31 | 12765 | graphics/circuit_macros/lib3D.m4
-2023/05/31 | 12711 | graphics/circuit_macros/examples/dpv/HeathkitDPV.m4
-2023/05/31 | 1265 | graphics/circuit_macros/examples/dpv/HeadersDPV.m4
-2023/05/31 | 1259 | graphics/circuit_macros/examples/Relay.m4
-2023/05/31 | 1259 | graphics/circuit_macros/doc/RelayMan.m4
-2023/05/31 | 1258 | graphics/circuit_macros/doc/ConfigB.m4
-2023/05/31 | 12478 | graphics/circuit_macros/examples/dpv/TubediagsDPV.m4
-2023/05/31 | 1238 | graphics/circuit_macros/examples/dpv/NportDPV.m4
-2023/05/31 | 1230 | graphics/circuit_macros/examples/dpv/FusesDPV.m4
-2023/05/31 | 1230 | graphics/circuit_macros/examples/Antennas.m4
-2023/05/31 | 1230 | graphics/circuit_macros/doc/AntennasMan.m4
-2023/05/31 | 1229 | graphics/circuit_macros/doc/fbfilter.m4
-2023/05/31 | 1222 | graphics/circuit_macros/examples/Chips.m4
-2023/05/31 | 1217 | graphics/circuit_macros/examples/extras/Egg.m4
-2023/05/31 | 1214 | graphics/circuit_macros/examples/dpv/ChipsDPV.m4
-2023/05/31 | 1204 | graphics/circuit_macros/examples/dpv/ex17DPV.m4
-2023/05/31 | 1201 | graphics/circuit_macros/examples/Capacitors.m4
-2023/05/31 | 11995 | graphics/circuit_macros/svg.m4
-2023/05/31 | 1188 | graphics/circuit_macros/examples/dpv/ResistorsDPV.m4
-2023/05/31 | 1185 | graphics/circuit_macros/boxdims.sty
-2023/05/31 | 1174 | graphics/circuit_macros/examples/extras/PPA.m4
-2023/05/31 | 1160 | graphics/circuit_macros/examples/dpv/CapacitorsDPV.m4
-2023/05/31 | 11601 | graphics/circuit_macros/examples/dpv/icsDPV.m4
-2023/05/31 | 1157 | graphics/circuit_macros/examples/dpv/NPDTDPV.m4
-2023/05/31 | 1151 | graphics/circuit_macros/doc/Darlington.m4
-2023/05/31 | 1149 | graphics/circuit_macros/doc/ResistorsMan.m4
-2023/05/31 | 1147 | graphics/circuit_macros/examples/Resistors.m4
-2023/05/31 | 11440 | graphics/circuit_macros/examples/ics.m4
-2023/05/31 | 1132 | graphics/circuit_macros/examples/Headers.m4
-2023/05/31 | 1132 | graphics/circuit_macros/doc/HeadersMan.m4
-2023/05/31 | 1129 | graphics/circuit_macros/examples/shadowed.m4
-2023/05/31 | 1128 | graphics/circuit_macros/examples/NPDT.m4
-2023/05/31 | 1128 | graphics/circuit_macros/doc/NPDTMan.m4
-2023/05/31 | 1126 | graphics/circuit_macros/examples/ex17.m4
-2023/05/31 | 11255 | graphics/circuit_macros/examples/FlowchartDefs.m4def
-2023/05/31 | 1121 | graphics/circuit_macros/doc/ConfigA.m4
-2023/05/31 | 1114 | graphics/circuit_macros/mfpic.m4
-2023/05/31 | 1100 | graphics/circuit_macros/examples/ex02.m4
-2023/05/31 | 1097 | graphics/circuit_macros/examples/extras/Region.m4
-2023/05/31 | 1093 | graphics/circuit_macros/examples/dpv/ex02DPV.m4
-2023/05/31 | 1091 | graphics/circuit_macros/examples/extras/Ant.m4
-2023/05/31 | 1090 | graphics/circuit_macros/examples/dpv/AntennasDPV.m4
-2023/05/31 | 1089 | graphics/circuit_macros/examples/extras/Optics.m4
-2023/05/31 | 108905 | graphics/circuit_macros/doc/defines.tex
-2023/05/31 | 10871 | graphics/circuit_macros/examples/dpv/EVplugsDPV.m4
-2023/05/31 | 10836 | graphics/circuit_macros/examples/EVplugs.m4
-2023/05/31 | 1076 | graphics/circuit_macros/examples/mf/mftest
-2023/05/31 | 1075 | graphics/circuit_macros/examples/extras/bistable.m4
-2023/05/31 | 1074 | graphics/circuit_macros/doc/bistableMan.m4
-2023/05/31 | 1071 | graphics/circuit_macros/examples/dpv/EmarrowsDPV.m4
-2023/05/31 | 10699 | graphics/circuit_macros/examples/keyboard.m4
-2023/05/31 | 10699 | graphics/circuit_macros/examples/dpv/keyboardDPV.m4
-2023/05/31 | 1065 | graphics/circuit_macros/examples/dpv/ex18DPV.m4
-2023/05/31 | 1063 | graphics/circuit_macros/doc/CapacitorsMan.m4
-2023/05/31 | 1055 | graphics/circuit_macros/examples/dpv/TgateDPV.m4
-2023/05/31 | 1055738 | graphics/circuit_macros/doc/Circuit_macros.pdf
-2023/05/31 | 1050 | graphics/circuit_macros/examples/dpv/DPVconfig.m4
-2023/05/31 | 1040 | graphics/circuit_macros/examples/Nport.m4
-2023/05/31 | 1040 | graphics/circuit_macros/doc/NportMan.m4
-2023/05/31 | 1039 | graphics/circuit_macros/examples/extras/chaos.m4
-2023/05/31 | 1034 | graphics/circuit_macros/examples/dpv/OpampDPV.m4
-2023/05/31 | 1029 | graphics/circuit_macros/xfig.m4
-2023/05/31 | 10238 | graphics/circuit_macros/examples/dpv/paletteDPV.m4
-2023/05/31 | 10232 | graphics/circuit_macros/examples/extras/Views.m4
-2023/05/31 | 1022 | graphics/circuit_macros/examples/Tgate.m4
-2023/05/31 | 1022 | graphics/circuit_macros/doc/TgateMan.m4
-2023/05/31 | 1019 | graphics/circuit_macros/gpic.m4
-2023/05/31 | 1017 | graphics/circuit_macros/doc/arrowex.m4
-2023/05/31 | 10172 | graphics/circuit_macros/examples/Makefile
-2023/05/31 | 1003 | graphics/circuit_macros/examples/ex15.m4
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 9cca9c3d85..0d41e5b767 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 07-06-2023, 02:00:16
+%% created at 08-06-2023, 02:01:08
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -2412,6 +2412,17 @@
url = {https://ctan.org/pkg/anti},
}
+@manual{ctan-antique-spanish-units,
+ title = {The \texttt{antique-spanish-units} package},
+ subtitle = {A short document about antique spanish units},
+ author = {Noel Merino Hernández},
+ date = {2023-06-07},
+ version = {1.1},
+ license = {cc-by-4},
+ mirror = {https://mirror.ctan.org/info/spanish/antique-spanish-units},
+ url = {https://ctan.org/pkg/antique-spanish-units},
+}
+
@manual{ctan-antomega,
title = {The \texttt{antomega} package},
subtitle = {Alternative language support for Omega/Lambda},
@@ -3659,8 +3670,8 @@
title = {The \texttt{asymptote} package},
subtitle = {2D and 3D \TeX{}-Aware Vector Graphics Language},
author = {John Bowman and Andy Hammerlindl},
- date = {2023-02-09},
- version = {2.85},
+ date = {2023-06-07},
+ version = {2.86},
license = {lgpl3},
mirror = {https://mirror.ctan.org/graphics/asymptote},
url = {https://ctan.org/pkg/asymptote},
@@ -23603,6 +23614,17 @@
url = {https://ctan.org/pkg/exams},
}
+@manual{ctan-examz,
+ title = {The \texttt{examz} package},
+ subtitle = {Randomized exams with multiple versions},
+ author = {Christopher McClain},
+ date = {2023-06-07},
+ version = {1.0.0},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/examz},
+ url = {https://ctan.org/pkg/examz},
+}
+
@manual{ctan-excalibur,
title = {The \texttt{excalibur} package},
subtitle = {Macintosh spell checker},
@@ -34791,8 +34813,8 @@
title = {The \texttt{JeuxCartes} package},
subtitle = {Macros to insert playing cards},
author = {Cédric Pierquet},
- date = {2023-04-29},
- version = {0.2.4},
+ date = {2023-06-07},
+ version = {0.2.5},
license = {lppl1.3c,lgpl2.1,pd,cc-by-sa-4,pd,mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/jeuxcartes},
url = {https://ctan.org/pkg/jeuxcartes},
@@ -48232,7 +48254,7 @@
subtitle = {\LaTeX{} thesis template for Nanjing University},
author = {Yichen Zhao and Yu Xiong},
date = {2019-01-01},
- version = {1.2.1},
+ version = {1.3.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/unicodetex/latex/njuthesis},
url = {https://ctan.org/pkg/njuthesis},
@@ -51822,7 +51844,7 @@
title = {The \texttt{penrose} package},
subtitle = {A TikZ library for producing Penrose tilings},
author = {Andrew Stacey},
- date = {2023-06-06},
+ date = {2023-06-07},
version = {1.4},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/obsolete/graphics/pgf/contrib/penrose},
@@ -65808,8 +65830,8 @@
title = {The \texttt{tagpdf} package},
subtitle = {Tools for experimenting with tagging using pdf\LaTeX{} and LuaLaTeX},
author = {Ulrike Fischer},
- date = {2023-05-16},
- version = {0.98g},
+ date = {2023-06-07},
+ version = {0.98h},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/tagpdf},
url = {https://ctan.org/pkg/tagpdf},
@@ -67488,8 +67510,8 @@
title = {The \texttt{TeXLab} package},
subtitle = {\LaTeX{} Language Server},
author = {Eric Förster},
- date = {2023-05-20},
- version = {5.6.0},
+ date = {2023-06-07},
+ version = {5.7.0},
license = {gpl3},
mirror = {https://mirror.ctan.org/support/texlab},
url = {https://ctan.org/pkg/texlab},
@@ -69231,8 +69253,8 @@
title = {The \texttt{tikz-nfold} package},
subtitle = {Triple, quadruple, and n-fold paths with TikZ},
author = {Jonathan Schulz},
- date = {2023-05-16},
- version = {0.1.2},
+ date = {2023-06-07},
+ version = {0.1.3},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tikz-nfold},
url = {https://ctan.org/pkg/tikz-nfold},
@@ -69681,7 +69703,7 @@
title = {The \texttt{tilings} package},
subtitle = {A TikZ library for drawing tiles and tilings},
author = {Andrew Stacey},
- date = {2023-06-06},
+ date = {2023-06-07},
version = {2.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tilings},
@@ -69876,12 +69898,13 @@
title = {The \texttt{tipos} package},
subtitle = {Description of fonts for \TeX{}, in Spanish},
author = {Javier Bezos López},
- date = {2016-06-24},
+ date = {2023-06-07},
license = {nosource},
+ mirror = {https://mirror.ctan.org/info/spanish/tipos},
url = {https://ctan.org/pkg/tipos},
- annotation = {The document tipos.pdf describes (in Spanish) the large amount
- of types of files for fonts ('tipo' means 'font' in Spanish).
- Tipos.pdf has been
+ annotation = {The document describes (in Spanish) the large amount
+ of types of files for fonts (‘tipo’ means ‘font’ in Spanish).
+ has been
by Thomas Ruedas.},
}
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index ebbf522251..e121bdbbf0 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/graphics/asymptote/ChangeLog b/graphics/asymptote/ChangeLog
index 5c972b52ba..0909f1be8a 100644
--- a/graphics/asymptote/ChangeLog
+++ b/graphics/asymptote/ChangeLog
@@ -1,3 +1,347 @@
+commit 4d5224cf59d75f08c7360382bf7e7c12167ce35f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jun 6 19:59:30 2023 -0600
+
+ Update build script.
+
+commit 3c359d89cc4bfba685d5c29794af934e08c5329f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jun 6 17:15:36 2023 -0600
+
+ Fix type.
+
+commit 0104aea26bf8f76dc15f717a5ea78e0ff46b659f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jun 6 16:26:53 2023 -0600
+
+ Fix compilation under MSDOS.
+
+commit 13fac7197d9f62f890f3c78d40eda8f5b819c99c
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jun 6 00:17:26 2023 -0600
+
+ Fix boost issues.
+
+commit fbe3f431adc74ff6ac307fd4868da8f8b363efaa
+Author: John Bowman <bowman@ualberta.ca>
+Date: Tue Jun 6 00:00:47 2023 -0600
+
+ git subrepo pull --force LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "9b0d99d1"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "9b0d99d1"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit 728e00fa9dcc9d13f9fa5da82c2f901420485c61
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jun 5 22:47:35 2023 -0600
+
+ Fix std::optional compilation issues.
+
+commit c18c01677cfbeb3d956633df86a79e984a8f8255
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jun 5 22:47:05 2023 -0600
+
+ git subrepo pull --force LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "1a04514e"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "1a04514e"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit b24fba5df113d4a5e7af41d01011b912916b2a06
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jun 5 01:36:17 2023 -0600
+
+ git subrepo pull --force LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "97ccf8e9"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "97ccf8e9"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit 346ec934bd279beaf1d1605d657fd8e15378022b
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jun 5 01:10:41 2023 -0600
+
+ Work around unavailable clock_gettime under old versions of MacOS.
+
+commit 1d7caee225a5fe892c9ba2f7ffff1e63335352fa
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Jun 5 01:10:06 2023 -0600
+
+ Fix portability issue with GLSL_VERSION.
+
+commit e49ed605f0e13ff75ae21f5b653f3c4b319a33f6
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 4 22:49:48 2023 -0600
+
+ Initialize spin counter; remove remaining gettimeofday calls.
+
+commit 59bb7930b9a08c530f66957c5c60f64b07a59374
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 4 15:53:40 2023 -0600
+
+ Update Boehm GC to 8.2.4.
+
+commit 4080bee015b099acd933bf40a89d2933c1edbdc2
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 4 11:58:51 2023 -0600
+
+ git subrepo pull --force LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "018aaca5"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "018aaca5"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit 267922a9d8d7f9077d6d5bd7260e176cf200d010
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 4 11:36:51 2023 -0600
+
+ git subrepo pull --force LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "6874d444"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "6874d444"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit 2d541360013d7357be3258c1ba6ea7ed98ae1e45
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 4 11:35:18 2023 -0600
+
+ git subrepo pull --force LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "530bd22e"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "530bd22e"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit bd3813ca7592cc3dba43fa4007ff4f129d668f24
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 4 10:52:31 2023 -0600
+
+ git subrepo pull --force LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "6c723f47"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "6c723f47"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit a3f45abc54caf855167b662ffd3717e2ab733289
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Jun 4 10:51:34 2023 -0600
+
+ Revert "Revert "Change boost::optional to std::optional"."
+
+ This reverts commit d6ddd54262b7bf61830572988e2f4bd953802a28.
+
+commit 6cb475a540d695b3fcee20252e2ffac2c8f1adb5
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Jun 3 15:06:24 2023 -0600
+
+ git subrepo pull (merge) LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "acde1180"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "936b427d"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit d6ddd54262b7bf61830572988e2f4bd953802a28
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Jun 3 14:55:20 2023 -0600
+
+ Revert "Change boost::optional to std::optional".
+
+ This reverts commit 0de3cfdb930d53d9ea2c03674e8ab228bf31b0d1.
+
+commit 5a4f72184e494aafaf5298b0b51f7338d7fb97f0
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Jun 3 14:42:17 2023 -0600
+
+ git subrepo pull --force LspCpp
+
+ subrepo:
+ subdir: "LspCpp"
+ merged: "f96a1ac0"
+ upstream:
+ origin: "git@github.com:vectorgraphics/LspCpp"
+ branch: "master"
+ commit: "f96a1ac0"
+ git-subrepo:
+ version: "0.4.6"
+ origin: "???"
+ commit: "???"
+
+commit b3345619ab5aad88fcf229591c5a20f0d0864eaa
+Merge: 5c40136f 7366fe26
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Jun 3 12:21:01 2023 -0600
+
+ Merge pull request #356 from yarusome/master
+
+ Fixing bugs in the inversion section of the `geometry` module
+
+commit 5c40136f60cbeab6924626085c68cc161d0dae45
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Jun 3 12:11:23 2023 -0600
+
+ Reformat code.
+
+commit 4709f6e6956d3f455c127fa5d44debf6f70d027e
+Merge: 456ae992 7f5cdf0b
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Jun 3 11:59:50 2023 -0600
+
+ Merge pull request #377 from LemonBoy/fix-io-read
+
+ io: Fix reading of NaN and inf values
+
+commit 456ae99203a291f9c50128ec55965ad948e11971
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jun 2 21:42:12 2023 -0600
+
+ Remove lsp option when disabled.
+
+commit 214b8969a66af0dde0168ac17e2a343debb7d047
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon May 29 10:33:28 2023 -0600
+
+ Remove unused cast.
+
+commit 7f5cdf0b2c6aed2e26ff7310aa3d181419a6eea8
+Author: LemonBoy <thatlemon@gmail.com>
+Date: Sun May 28 19:09:57 2023 +0200
+
+ io: Fix reading of NaN and inf values
+
+ Previously asymptote would silently stop while trying to read a textual
+ dataset containing inf or nan values, while the language itself is
+ perfectly capable of handling such values.
+
+commit 43cf506b5bce0957205650246c8616b97e143133
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun May 14 13:54:15 2023 -0600
+
+ Remove unused variables.
+
+commit 494e8120ee967aa9c71ae26e2476b5632211b6e2
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Apr 17 21:23:57 2023 -0600
+
+ Fix compilation when configured with --disable-gl.
+
+commit 4715fea108852e25cd38a6a74079985f5fe91e7f
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Apr 15 16:31:59 2023 -0600
+
+ Suppress .setblendmode for EPS output.
+
+commit 700aaec3a6d1fd3a78f04537a61bad82a5f07057
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Mar 12 00:03:46 2023 -0700
+
+ Fix portability issues.
+
+commit fffdb62031f4f68007b2721bdd8ef86ef37d8e3d
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Mar 11 23:42:20 2023 -0700
+
+ Fix boolean operator.
+
+commit da81bd59f89ba8be1131243f680f06ed57fee571
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sat Mar 11 23:33:28 2023 -0700
+
+ Update config.guess.
+
+commit 65165fe1528692980fd52c7f1c3735c7ac5bd2c0
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Mar 5 20:48:00 2023 -0700
+
+ Fix bug #370: automatically apply PDF transfer functions.
+
+commit 11c8cc57a4b66e5f04f3ab2f1cfd6f33d2c8d43d
+Author: John Bowman <bowman@ualberta.ca>
+Date: Mon Feb 20 13:41:10 2023 -0700
+
+ Clear initial index buffer.
+
+commit 7623f325b1a370851db9559a5a058e552b71a2f6
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Feb 19 01:32:10 2023 -0700
+
+ Fix last revision.
+
+commit 0a248a219e44d2945bcc31c5424153ec1ace41bb
+Author: John Bowman <bowman@ualberta.ca>
+Date: Sun Feb 19 01:28:30 2023 -0700
+
+ Only output unscaled primitives.
+
+commit e8e88fb4412ce92acf222ceafe18e3be26984b90
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Feb 8 23:39:44 2023 -0700
+
+ Increment version to 2.86.
+
commit 9e242d4e7d6d79656c09d4f6c7c385dd7ea61bb3
Author: John Bowman <bowman@ualberta.ca>
Date: Wed Feb 8 21:30:27 2023 -0700
@@ -166,6 +510,12 @@ Date: Sun Jan 22 22:06:10 2023 -0700
Increment version to 2.85.
+commit 7366fe26314370241c949921389492a4cb862f33
+Author: yarusome <97945148+yarusome@users.noreply.github.com>
+Date: Mon Jan 23 12:15:54 2023 +0800
+
+ Fixing the use of `inverse()`
+
commit 430c7a661c060568720f6d65e611a2087ea1dde6
Author: John Bowman <bowman@ualberta.ca>
Date: Sat Jan 21 22:48:26 2023 -0700
@@ -218,6 +568,22 @@ Date: Mon Dec 12 22:19:03 2022 -0700
Avoid division by zero.
+commit 58af9b461ff373ec32e6d1db869c80cf3b6dd137
+Author: yarusome <97945148+yarusome@users.noreply.github.com>
+Date: Sun Dec 11 13:59:36 2022 +0800
+
+ Simplifying the internal use of `inversion`
+
+ This commit replaces `(real, point, ...)` with `(inversion, ...)` in the parameter list of internally-used functions in the inversion section, and simplifies the initializer definitions of `inversion` using `operator init`.
+
+commit 1fcc742a8e372b8280e92573a31542ed3cdc9117
+Author: yarusome <97945148+yarusome@users.noreply.github.com>
+Date: Sun Dec 11 13:19:55 2022 +0800
+
+ Fixing the inversion section of the `geometry` module
+
+ This commit fixes bugs related to coordinate systems in the inversion section, and all the returned `point`s are in `currentcoordsys` now.
+
commit 46d6ea7351699bbed0418ec6d7f2195011178e5a
Author: John Bowman <bowman@ualberta.ca>
Date: Mon Nov 28 20:20:35 2022 -0700
diff --git a/graphics/asymptote/GUI/icons_rc.py b/graphics/asymptote/GUI/icons_rc.py
index 7a59d361a5..fa6b3c56ff 100644
--- a/graphics/asymptote/GUI/icons_rc.py
+++ b/graphics/asymptote/GUI/icons_rc.py
@@ -2,14 +2,14 @@
# Resource object code
#
-# Created by: The Resource Compiler for PyQt5 (Qt v5.15.8)
+# Created by: The Resource Compiler for PyQt5 (Qt v5.15.9)
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore
qt_resource_data = b"\
-\x00\x00\x02\xf0\
+\x00\x00\x02\x98\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -40,31 +40,26 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x32\x30\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x34\x38\x43\x31\
-\x34\x31\x2e\x36\x30\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\
-\x2e\x36\x30\x31\x2c\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\
-\x30\x31\x2c\x32\x30\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\
-\x30\x38\x2d\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\
-\x38\x53\x33\x37\x30\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\
-\x2c\x34\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x33\x39\
-\x39\x0a\x09\x09\x09\x63\x2d\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\
-\x31\x36\x36\x2e\x33\x39\x39\x2d\x37\x34\x2e\x38\x38\x32\x2d\x31\
-\x36\x36\x2e\x33\x39\x39\x2d\x31\x36\x36\x2e\x33\x39\x39\x53\x31\
-\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\x35\x36\x2c\
-\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\x34\x2e\x34\
-\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\x33\x34\x37\
-\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x33\x39\x39\x2c\x32\x35\x36\
-\x2c\x34\x32\x32\x2e\x33\x39\x39\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\x77\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x31\x32\x38\x2c\x34\x30\x35\x2e\x34\x32\x39\x43\
+\x31\x32\x38\x2c\x34\x32\x38\x2e\x38\x34\x36\x2c\x31\x34\x37\x2e\
+\x31\x39\x38\x2c\x34\x34\x38\x2c\x31\x37\x30\x2e\x36\x36\x37\x2c\
+\x34\x34\x38\x68\x31\x37\x30\x2e\x36\x36\x37\x43\x33\x36\x34\x2e\
+\x38\x30\x32\x2c\x34\x34\x38\x2c\x33\x38\x34\x2c\x34\x32\x38\x2e\
+\x38\x34\x36\x2c\x33\x38\x34\x2c\x34\x30\x35\x2e\x34\x32\x39\x56\
+\x31\x36\x30\x48\x31\x32\x38\x56\x34\x30\x35\x2e\x34\x32\x39\x7a\
+\x20\x4d\x34\x31\x36\x2c\x39\x36\x0a\x09\x09\x68\x2d\x38\x30\x6c\
+\x2d\x32\x36\x2e\x37\x38\x35\x2d\x33\x32\x48\x32\x30\x32\x2e\x37\
+\x38\x36\x4c\x31\x37\x36\x2c\x39\x36\x48\x39\x36\x76\x33\x32\x68\
+\x33\x32\x30\x56\x39\x36\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xda\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x30\x2e\x30\x2c\x20\
\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
@@ -85,20 +80,91 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
-\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
-\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
-\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x32\x38\x38\
-\x2c\x39\x36\x20\x33\x33\x37\x2e\x39\x2c\x31\x34\x35\x2e\x39\x20\
-\x32\x37\x34\x2c\x32\x30\x39\x2e\x37\x20\x32\x37\x34\x2c\x32\x30\
-\x39\x2e\x37\x20\x31\x34\x35\x2e\x39\x2c\x33\x33\x37\x2e\x39\x20\
-\x39\x36\x2c\x32\x38\x38\x20\x39\x36\x2c\x34\x31\x36\x20\x32\x32\
-\x34\x2c\x34\x31\x36\x20\x31\x37\x34\x2e\x31\x2c\x33\x36\x36\x2e\
-\x31\x20\x33\x35\x37\x2e\x34\x2c\x31\x38\x32\x2e\x39\x20\x33\x36\
-\x36\x2e\x31\x2c\x31\x37\x34\x2e\x31\x20\x0a\x09\x34\x31\x36\x2c\
-\x32\x32\x34\x20\x34\x31\x36\x2c\x39\x36\x20\x22\x2f\x3e\x0a\x3c\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\x2e\x38\
+\x32\x38\x63\x34\x30\x2e\x30\x32\x33\x2d\x30\x2e\x33\x31\x35\x2c\
+\x34\x35\x2e\x30\x31\x2d\x39\x2e\x39\x35\x35\x2c\x35\x38\x2e\x30\
+\x35\x32\x2d\x35\x30\x2e\x31\x33\x32\x63\x32\x34\x2e\x30\x35\x37\
+\x2d\x36\x33\x2e\x34\x30\x38\x2c\x31\x33\x32\x2e\x34\x31\x39\x2c\
+\x31\x36\x2e\x35\x39\x31\x2c\x36\x35\x2e\x32\x36\x39\x2c\x34\x34\
+\x2e\x33\x37\x34\x0a\x09\x09\x43\x31\x30\x34\x2e\x36\x32\x32\x2c\
+\x34\x38\x36\x2e\x38\x35\x32\x2c\x38\x2e\x34\x32\x38\x2c\x34\x36\
+\x35\x2e\x31\x34\x33\x2c\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\
+\x2e\x38\x32\x38\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x34\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\
+\x30\x32\x63\x2d\x31\x39\x2e\x34\x31\x37\x2d\x31\x35\x2e\x36\x34\
+\x37\x2d\x35\x31\x2e\x35\x39\x32\x2d\x37\x2e\x39\x33\x38\x2d\x37\
+\x31\x2e\x38\x36\x34\x2c\x31\x37\x2e\x32\x31\x39\x4c\x31\x38\x31\
+\x2e\x36\x34\x35\x2c\x33\x35\x35\x2e\x38\x34\x39\x63\x2d\x32\x30\
+\x2e\x32\x37\x32\x2c\x32\x35\x2e\x31\x35\x34\x2d\x32\x30\x2e\x31\
+\x37\x31\x2c\x32\x30\x2e\x33\x34\x37\x2d\x30\x2e\x37\x35\x34\x2c\
+\x33\x35\x2e\x39\x39\x32\x0a\x09\x09\x63\x31\x39\x2e\x34\x31\x37\
+\x2c\x31\x35\x2e\x36\x34\x38\x2c\x31\x34\x2e\x37\x33\x38\x2c\x31\
+\x36\x2e\x37\x37\x2c\x33\x35\x2e\x30\x31\x31\x2d\x38\x2e\x33\x38\
+\x38\x6c\x32\x34\x31\x2e\x34\x30\x36\x2d\x32\x36\x32\x2e\x36\x36\
+\x39\x43\x34\x37\x37\x2e\x35\x38\x31\x2c\x39\x35\x2e\x36\x32\x38\
+\x2c\x34\x37\x38\x2e\x32\x37\x35\x2c\x36\x32\x2e\x35\x35\x2c\x34\
+\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\x30\x32\x7a\x20\x4d\
+\x34\x30\x36\x2e\x30\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x0a\x09\
+\x09\x63\x30\x2c\x30\x2d\x33\x2d\x33\x2e\x35\x2d\x31\x33\x2d\x31\
+\x31\x2e\x35\x63\x31\x35\x2d\x32\x34\x2e\x35\x2c\x34\x34\x2e\x35\
+\x2d\x32\x30\x2c\x34\x34\x2e\x35\x2d\x32\x30\x43\x34\x30\x39\x2e\
+\x35\x36\x35\x2c\x36\x36\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\
+\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\x36\
+\x35\x2c\x38\x31\x2e\x38\x32\x35\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\xe7\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x69\x72\x63\x6c\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\
+\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\
+\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\
+\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
+\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\
+\x69\x6e\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\
+\x3d\x22\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\
+\x6f\x78\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\
+\x20\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\
+\x6e\x64\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\
+\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\
+\x32\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x30\x2c\x30\x2e\
+\x34\x43\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x30\x2e\x34\x2c\
+\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\
+\x2c\x31\x35\x2e\x33\x30\x32\x2c\x34\x2e\x36\x39\x38\x2c\x31\x39\
+\x2e\x36\x2c\x31\x30\x2c\x31\x39\x2e\x36\x63\x35\x2e\x33\x30\x31\
+\x2c\x30\x2c\x39\x2e\x36\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\
+\x2d\x39\x2e\x36\x30\x31\x0a\x09\x43\x31\x39\x2e\x36\x2c\x34\x2e\
+\x36\x39\x38\x2c\x31\x35\x2e\x33\x30\x31\x2c\x30\x2e\x34\x2c\x31\
+\x30\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x37\x2e\x35\x39\
+\x39\x63\x2d\x34\x2e\x31\x39\x37\x2c\x30\x2d\x37\x2e\x36\x2d\x33\
+\x2e\x34\x30\x32\x2d\x37\x2e\x36\x2d\x37\x2e\x36\x53\x35\x2e\x38\
+\x30\x32\x2c\x32\x2e\x34\x2c\x31\x30\x2c\x32\x2e\x34\x63\x34\x2e\
+\x31\x39\x37\x2c\x30\x2c\x37\x2e\x36\x30\x31\x2c\x33\x2e\x34\x30\
+\x32\x2c\x37\x2e\x36\x30\x31\x2c\x37\x2e\x36\x0a\x09\x53\x31\x34\
+\x2e\x31\x39\x37\x2c\x31\x37\x2e\x35\x39\x39\x2c\x31\x30\x2c\x31\
+\x37\x2e\x35\x39\x39\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
\x2f\x73\x76\x67\x3e\x0a\
\x00\x00\x03\xfe\
\x3c\
@@ -166,13 +232,22 @@ qt_resource_data = b"\
\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\
\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x00\x00\x04\x9c\
+\x00\x00\x00\x6c\
+\x3c\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\
+\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x3e\x3c\x70\x61\x74\x68\
+\x20\x64\x3d\x22\x4d\x31\x38\x20\x31\x32\x76\x31\x48\x38\x76\x35\
+\x6c\x2d\x36\x2d\x36\x20\x36\x2d\x36\x76\x35\x68\x38\x56\x32\x68\
+\x32\x7a\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x03\xe8\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
@@ -184,133 +259,54 @@ qt_resource_data = b"\
\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x6f\x64\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
+\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x6c\
+\x65\x66\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
-\x6b\x22\x20\x78\x3d\x22\x32\x34\x70\x78\x22\x20\x79\x3d\x22\x32\
-\x34\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\
-\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\
-\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\
-\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\
-\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\
-\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\
-\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\
-\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x3c\x70\x61\x74\
-\x68\x20\x64\x3d\x22\x4d\x35\x2e\x37\x31\x39\x2c\x31\x34\x2e\x37\
-\x35\x63\x2d\x30\x2e\x32\x33\x36\x2c\x30\x2d\x30\x2e\x34\x37\x34\
-\x2d\x30\x2e\x30\x38\x33\x2d\x30\x2e\x36\x36\x34\x2d\x30\x2e\x32\
-\x35\x32\x4c\x2d\x30\x2e\x30\x30\x35\x2c\x31\x30\x6c\x35\x2e\x33\
-\x34\x31\x2d\x34\x2e\x37\x34\x38\x43\x35\x2e\x37\x34\x38\x2c\x34\
-\x2e\x38\x38\x37\x2c\x36\x2e\x33\x38\x2c\x34\x2e\x39\x32\x32\x2c\
-\x36\x2e\x37\x34\x37\x2c\x35\x2e\x33\x33\x35\x0a\x09\x63\x30\x2e\
-\x33\x36\x37\x2c\x30\x2e\x34\x31\x33\x2c\x30\x2e\x33\x33\x2c\x31\
-\x2e\x30\x34\x35\x2d\x30\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\
-\x4c\x33\x2e\x30\x30\x35\x2c\x31\x30\x6c\x33\x2e\x33\x37\x38\x2c\
-\x33\x2e\x30\x30\x32\x63\x30\x2e\x34\x31\x33\x2c\x30\x2e\x33\x36\
-\x37\x2c\x30\x2e\x34\x35\x2c\x30\x2e\x39\x39\x39\x2c\x30\x2e\x30\
-\x38\x33\x2c\x31\x2e\x34\x31\x32\x0a\x09\x43\x36\x2e\x32\x36\x39\
-\x2c\x31\x34\x2e\x36\x33\x37\x2c\x35\x2e\x39\x39\x34\x2c\x31\x34\
-\x2e\x37\x35\x2c\x35\x2e\x37\x31\x39\x2c\x31\x34\x2e\x37\x35\x7a\
-\x20\x4d\x31\x34\x2e\x36\x36\x34\x2c\x31\x34\x2e\x37\x34\x38\x4c\
-\x32\x30\x2e\x30\x30\x35\x2c\x31\x30\x6c\x2d\x35\x2e\x30\x36\x2d\
-\x34\x2e\x34\x39\x38\x63\x2d\x30\x2e\x34\x31\x33\x2d\x30\x2e\x33\
-\x36\x37\x2d\x31\x2e\x30\x34\x35\x2d\x30\x2e\x33\x33\x2d\x31\x2e\
-\x34\x31\x31\x2c\x30\x2e\x30\x38\x33\x0a\x09\x63\x2d\x30\x2e\x33\
-\x36\x37\x2c\x30\x2e\x34\x31\x33\x2d\x30\x2e\x33\x33\x2c\x31\x2e\
-\x30\x34\x35\x2c\x30\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\x4c\
-\x31\x36\x2e\x39\x39\x35\x2c\x31\x30\x6c\x2d\x33\x2e\x36\x35\x39\
-\x2c\x33\x2e\x32\x35\x32\x63\x2d\x30\x2e\x34\x31\x33\x2c\x30\x2e\
-\x33\x36\x37\x2d\x30\x2e\x34\x35\x2c\x30\x2e\x39\x39\x39\x2d\x30\
-\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\x43\x31\x33\x2e\x34\x35\
-\x2c\x31\x34\x2e\x38\x38\x37\x2c\x31\x33\x2e\x37\x32\x35\x2c\x31\
-\x35\x2c\x31\x34\x2c\x31\x35\x0a\x09\x43\x31\x34\x2e\x32\x33\x36\
-\x2c\x31\x35\x2c\x31\x34\x2e\x34\x37\x34\x2c\x31\x34\x2e\x39\x31\
-\x37\x2c\x31\x34\x2e\x36\x36\x34\x2c\x31\x34\x2e\x37\x34\x38\x7a\
-\x20\x4d\x39\x2e\x39\x38\x36\x2c\x31\x36\x2e\x31\x36\x35\x6c\x32\
-\x2d\x31\x32\x63\x30\x2e\x30\x39\x31\x2d\x30\x2e\x35\x34\x35\x2d\
-\x30\x2e\x32\x37\x37\x2d\x31\x2e\x30\x36\x2d\x30\x2e\x38\x32\x32\
-\x2d\x31\x2e\x31\x35\x31\x0a\x09\x63\x2d\x30\x2e\x35\x34\x37\x2d\
-\x30\x2e\x30\x39\x32\x2d\x31\x2e\x30\x36\x31\x2c\x30\x2e\x32\x37\
-\x37\x2d\x31\x2e\x31\x35\x2c\x30\x2e\x38\x32\x32\x6c\x2d\x32\x2c\
-\x31\x32\x63\x2d\x30\x2e\x30\x39\x31\x2c\x30\x2e\x35\x34\x35\x2c\
-\x30\x2e\x32\x37\x37\x2c\x31\x2e\x30\x36\x2c\x30\x2e\x38\x32\x32\
-\x2c\x31\x2e\x31\x35\x31\x43\x38\x2e\x38\x39\x32\x2c\x31\x36\x2e\
-\x39\x39\x36\x2c\x38\x2e\x39\x34\x36\x2c\x31\x37\x2c\x39\x2e\x30\
-\x30\x31\x2c\x31\x37\x0a\x09\x43\x39\x2e\x34\x38\x31\x2c\x31\x37\
-\x2c\x39\x2e\x39\x30\x35\x2c\x31\x36\x2e\x36\x35\x33\x2c\x39\x2e\
-\x39\x38\x36\x2c\x31\x36\x2e\x31\x36\x35\x7a\x22\x2f\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\x17\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
-\x2d\x38\x38\x35\x39\x2d\x31\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\
-\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\
-\x20\x49\x6c\x6c\x75\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\
-\x30\x2e\x30\x2c\x20\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\
-\x50\x6c\x75\x67\x2d\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\
-\x72\x73\x69\x6f\x6e\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\
-\x64\x20\x30\x29\x20\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\
-\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\
-\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\
-\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
-\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
-\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
-\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
-\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
-\x79\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x22\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\x20\x34\
-\x32\x33\x2e\x37\x35\x34\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x65\
-\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
-\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
-\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
-\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x33\x35\x34\x2e\x32\
-\x34\x2c\x34\x37\x2e\x34\x6c\x33\x39\x2e\x38\x37\x39\x2d\x33\x39\
-\x2e\x38\x37\x39\x48\x32\x37\x32\x2e\x31\x39\x36\x76\x31\x32\x31\
-\x2e\x39\x32\x34\x6c\x36\x30\x2e\x38\x30\x31\x2d\x36\x30\x2e\x38\
-\x30\x31\x63\x35\x36\x2c\x35\x30\x2e\x30\x36\x36\x2c\x37\x37\x2e\
-\x32\x35\x31\x2c\x31\x33\x32\x2e\x30\x30\x34\x2c\x34\x36\x2e\x39\
-\x31\x38\x2c\x32\x30\x35\x2e\x32\x33\x35\x0a\x09\x63\x2d\x31\x38\
-\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\x2e\x35\
-\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\x2c\x39\
-\x38\x2e\x34\x63\x2d\x34\x34\x2e\x38\x36\x36\x2c\x31\x38\x2e\x35\
-\x38\x35\x2d\x39\x34\x2e\x32\x38\x38\x2c\x31\x38\x2e\x35\x38\x35\
-\x2d\x31\x33\x39\x2e\x31\x35\x38\x2c\x30\x63\x2d\x34\x34\x2e\x38\
-\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\
-\x2d\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\
-\x34\x0a\x09\x63\x2d\x31\x38\x2e\x35\x38\x35\x2d\x34\x34\x2e\x38\
-\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x39\x34\x2e\x32\x39\x2c\
-\x30\x2d\x31\x33\x39\x2e\x31\x35\x39\x6c\x2d\x32\x37\x2e\x37\x31\
-\x37\x2d\x31\x31\x2e\x34\x38\x63\x2d\x32\x31\x2e\x36\x35\x31\x2c\
-\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x31\x2c\x31\x30\
-\x39\x2e\x38\x34\x38\x2c\x30\x2c\x31\x36\x32\x2e\x31\x32\x0a\x09\
-\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
-\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
-\x2e\x36\x33\x37\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
-\x31\x34\x2c\x31\x30\x2e\x38\x32\x37\x2c\x35\x33\x2e\x35\x39\x35\
-\x2c\x31\x36\x2e\x32\x34\x2c\x38\x31\x2e\x30\x36\x2c\x31\x36\x2e\
-\x32\x33\x39\x63\x32\x37\x2e\x34\x35\x39\x2d\x30\x2e\x30\x30\x31\
-\x2c\x35\x34\x2e\x39\x32\x37\x2d\x35\x2e\x34\x31\x34\x2c\x38\x31\
-\x2e\x30\x36\x31\x2d\x31\x36\x2e\x32\x33\x39\x0a\x09\x63\x35\x32\
-\x2e\x32\x37\x31\x2d\x32\x31\x2e\x36\x35\x32\x2c\x39\x32\x2e\x39\
-\x38\x33\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\x31\x34\x2e\x36\x33\
-\x36\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\x34\x32\x2e\x37\x33\
-\x39\x2c\x32\x30\x30\x2e\x36\x2c\x34\x31\x38\x2e\x35\x33\x32\x2c\
-\x31\x30\x35\x2e\x38\x32\x36\x2c\x33\x35\x34\x2e\x32\x34\x2c\x34\
-\x37\x2e\x34\x7a\x22\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
-\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
-\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
-\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
-\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x3d\
+\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\
+\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\x30\
+\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\
+\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\x37\
+\x36\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
+\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\x2d\x30\x2e\x37\x31\x2c\
+\x30\x4c\x37\x2e\x37\x38\x35\x2c\x39\x2e\x36\x34\x31\x63\x2d\x30\
+\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\x39\x2d\x30\x2e\x31\x39\x36\
+\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\x2e\x37\x31\x37\x6c\x32\x2e\
+\x38\x30\x37\x2c\x32\x2e\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\
+\x35\x2c\x30\x2e\x31\x39\x39\x2c\x30\x2e\x35\x31\x34\x2c\x30\x2e\
+\x31\x39\x38\x2c\x30\x2e\x37\x31\x2c\x30\x63\x30\x2e\x31\x39\x36\
+\x2d\x30\x2e\x31\x39\x37\x2c\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\
+\x31\x38\x2c\x30\x2d\x30\x2e\x37\x31\x37\x4c\x39\x2c\x31\x30\x6c\
+\x32\x2e\x33\x30\x32\x2d\x32\x2e\x35\x30\x36\x43\x31\x31\x2e\x34\
+\x39\x38\x2c\x37\x2e\x32\x39\x36\x2c\x31\x31\x2e\x34\x39\x38\x2c\
+\x36\x2e\x39\x37\x36\x2c\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\
+\x37\x36\x7a\x0a\x09\x20\x4d\x31\x30\x2c\x30\x2e\x34\x63\x2d\x35\
+\x2e\x33\x30\x32\x2c\x30\x2d\x39\x2e\x36\x2c\x34\x2e\x32\x39\x38\
+\x2d\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\x35\x2e\x33\x30\x33\
+\x2c\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x2c\x39\
+\x2e\x36\x73\x39\x2e\x36\x2d\x34\x2e\x32\x39\x37\x2c\x39\x2e\x36\
+\x2d\x39\x2e\x36\x43\x31\x39\x2e\x36\x2c\x34\x2e\x36\x39\x38\x2c\
+\x31\x35\x2e\x33\x30\x32\x2c\x30\x2e\x34\x2c\x31\x30\x2c\x30\x2e\
+\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\x0a\x09\x63\
+\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\x2d\x33\
+\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
+\x30\x2d\x34\x2e\x36\x31\x34\x2c\x33\x2e\x37\x33\x39\x2d\x38\x2e\
+\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
+\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\x2c\x33\x2e\
+\x37\x34\x2c\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x0a\x09\
+\x43\x31\x38\x2e\x33\x35\x34\x2c\x31\x34\x2e\x36\x31\x34\x2c\x31\
+\x34\x2e\x36\x31\x33\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\x2c\
+\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x54\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -337,33 +333,51 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
-\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
-\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\
-\x68\x20\x64\x3d\x22\x4d\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\
-\x36\x4c\x33\x30\x36\x2e\x39\x2c\x32\x35\x36\x6c\x31\x33\x30\x2e\
-\x36\x2d\x31\x33\x30\x2e\x36\x63\x31\x34\x2e\x31\x2d\x31\x34\x2e\
-\x31\x2c\x31\x34\x2e\x31\x2d\x33\x36\x2e\x38\x2c\x30\x2d\x35\x30\
-\x2e\x39\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\x2d\x33\x36\
-\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\x30\x4c\x32\
-\x35\x36\x2c\x32\x30\x35\x2e\x31\x4c\x31\x32\x35\x2e\x34\x2c\x37\
-\x34\x2e\x35\x0a\x09\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\
-\x2d\x33\x36\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\
-\x30\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\x2e\
-\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x4c\x32\x30\
-\x35\x2e\x31\x2c\x32\x35\x36\x4c\x37\x34\x2e\x35\x2c\x33\x38\x36\
-\x2e\x36\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\
-\x2e\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x0a\x09\
-\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\x2c\
-\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x4c\x32\x35\x36\x2c\
-\x33\x30\x36\x2e\x39\x6c\x31\x33\x30\x2e\x36\x2c\x31\x33\x30\x2e\
-\x36\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\
-\x2c\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x43\x34\x35\x31\
-\x2e\x35\x2c\x34\x32\x33\x2e\x34\x2c\x34\x35\x31\x2e\x35\x2c\x34\
-\x30\x30\x2e\x36\x2c\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\x36\
-\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x37\x36\x63\x2d\x34\x34\x2e\
+\x30\x30\x34\x2c\x30\x2d\x38\x30\x2e\x30\x30\x31\x2c\x33\x36\x2d\
+\x38\x30\x2e\x30\x30\x31\x2c\x38\x30\x63\x30\x2c\x34\x34\x2e\x30\
+\x30\x34\x2c\x33\x35\x2e\x39\x39\x37\x2c\x38\x30\x2c\x38\x30\x2e\
+\x30\x30\x31\x2c\x38\x30\x63\x34\x34\x2e\x30\x30\x35\x2c\x30\x2c\
+\x37\x39\x2e\x39\x39\x39\x2d\x33\x35\x2e\x39\x39\x36\x2c\x37\x39\
+\x2e\x39\x39\x39\x2d\x38\x30\x0a\x09\x09\x09\x43\x33\x33\x35\x2e\
+\x39\x39\x39\x2c\x32\x31\x32\x2c\x33\x30\x30\x2e\x30\x30\x35\x2c\
+\x31\x37\x36\x2c\x32\x35\x36\x2c\x31\x37\x36\x7a\x20\x4d\x34\x34\
+\x36\x2e\x39\x33\x38\x2c\x32\x33\x34\x2e\x36\x36\x37\x63\x2d\x39\
+\x2e\x36\x30\x35\x2d\x38\x38\x2e\x35\x33\x31\x2d\x38\x31\x2e\x30\
+\x37\x34\x2d\x31\x36\x30\x2d\x31\x36\x39\x2e\x36\x30\x35\x2d\x31\
+\x36\x39\x2e\x35\x39\x39\x56\x33\x32\x68\x2d\x34\x32\x2e\x36\x36\
+\x36\x76\x33\x33\x2e\x30\x36\x37\x0a\x09\x09\x09\x63\x2d\x38\x38\
+\x2e\x35\x33\x31\x2c\x39\x2e\x35\x39\x39\x2d\x31\x36\x30\x2c\x38\
+\x31\x2e\x30\x36\x38\x2d\x31\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\
+\x39\x2e\x35\x39\x39\x48\x33\x32\x76\x34\x32\x2e\x36\x36\x37\x68\
+\x33\x33\x2e\x30\x36\x32\x63\x39\x2e\x36\x30\x34\x2c\x38\x38\x2e\
+\x35\x33\x31\x2c\x38\x31\x2e\x30\x37\x32\x2c\x31\x36\x30\x2c\x31\
+\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\x39\x2e\x36\x30\x34\x56\x34\
+\x38\x30\x68\x34\x32\x2e\x36\x36\x36\x76\x2d\x33\x33\x2e\x30\x36\
+\x32\x0a\x09\x09\x09\x63\x38\x38\x2e\x35\x33\x31\x2d\x39\x2e\x36\
+\x30\x34\x2c\x31\x36\x30\x2d\x38\x31\x2e\x30\x37\x33\x2c\x31\x36\
+\x39\x2e\x36\x30\x35\x2d\x31\x36\x39\x2e\x36\x30\x34\x48\x34\x38\
+\x30\x76\x2d\x34\x32\x2e\x36\x36\x37\x48\x34\x34\x36\x2e\x39\x33\
+\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x30\x35\x2e\x33\x33\x33\x63\
+\x2d\x38\x32\x2e\x31\x33\x37\x2c\x30\x2d\x31\x34\x39\x2e\x33\x33\
+\x34\x2d\x36\x37\x2e\x31\x39\x38\x2d\x31\x34\x39\x2e\x33\x33\x34\
+\x2d\x31\x34\x39\x2e\x33\x33\x33\x0a\x09\x09\x09\x63\x30\x2d\x38\
+\x32\x2e\x31\x33\x36\x2c\x36\x37\x2e\x31\x39\x37\x2d\x31\x34\x39\
+\x2e\x33\x33\x33\x2c\x31\x34\x39\x2e\x33\x33\x34\x2d\x31\x34\x39\
+\x2e\x33\x33\x33\x63\x38\x32\x2e\x31\x33\x35\x2c\x30\x2c\x31\x34\
+\x39\x2e\x33\x33\x32\x2c\x36\x37\x2e\x31\x39\x38\x2c\x31\x34\x39\
+\x2e\x33\x33\x32\x2c\x31\x34\x39\x2e\x33\x33\x33\x43\x34\x30\x35\
+\x2e\x33\x33\x32\x2c\x33\x33\x38\x2e\x31\x33\x35\x2c\x33\x33\x38\
+\x2e\x31\x33\x35\x2c\x34\x30\x35\x2e\x33\x33\x33\x2c\x32\x35\x36\
+\x2c\x34\x30\x35\x2e\x33\x33\x33\x7a\x0a\x09\x09\x09\x22\x2f\x3e\
+\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\x0a\
\x00\x00\x03\xb7\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -426,268 +440,39 @@ qt_resource_data = b"\
\x30\x34\x2c\x31\x30\x2e\x36\x35\x32\x2c\x34\x2e\x30\x30\x34\x2c\
\x38\x2e\x32\x38\x37\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\x22\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
-\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
-\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
-\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
-\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
-\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
-\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
-\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
-\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
-\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
-\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
-\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
-\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
-\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x4c\
-\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
-\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
-\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
-\x31\x39\x4c\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\
-\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\
-\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\
-\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
-\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\
-\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\
-\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\
-\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\x37\
-\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
-\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\
-\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\
-\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\
-\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\x2e\
-\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\x27\
-\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\
-\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\
-\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\
-\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\
-\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\
-\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\x20\
-\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\x6c\
-\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\
-\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
-\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\
-\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\
-\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\
-\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\
-\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\x27\
-\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\
-\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\
-\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
-\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
-\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
-\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
-\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x34\
-\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\x37\
-\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\
-\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\
-\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\
-\x3e\
-\x00\x00\x03\xd9\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x72\
-\x69\x67\x68\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
-\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
-\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
-\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
-\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
-\x6e\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
-\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\
-\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\
-\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\
-\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\
-\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\
-\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\
-\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\
-\x68\x20\x64\x3d\x22\x4d\x31\x31\x2c\x31\x30\x4c\x38\x2e\x36\x39\
-\x38\x2c\x37\x2e\x34\x39\x34\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\
-\x2e\x31\x39\x38\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x39\
-\x2c\x30\x2d\x30\x2e\x37\x31\x38\x63\x30\x2e\x31\x39\x36\x2d\x30\
-\x2e\x31\x39\x37\x2c\x30\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\
-\x2c\x30\x2e\x37\x31\x2c\x30\x6c\x32\x2e\x38\x30\x37\x2c\x32\x2e\
-\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\
-\x39\x2c\x30\x2e\x31\x39\x36\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\
-\x2e\x37\x31\x37\x6c\x2d\x32\x2e\x38\x30\x37\x2c\x32\x2e\x38\x36\
-\x34\x63\x2d\x30\x2e\x31\x39\x35\x2c\x30\x2e\x31\x39\x39\x2d\x30\
-\x2e\x35\x31\x34\x2c\x30\x2e\x31\x39\x38\x2d\x30\x2e\x37\x31\x2c\
-\x30\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
-\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x38\x2c\x30\x2d\x30\x2e\x37\
-\x31\x37\x4c\x31\x31\x2c\x31\x30\x7a\x20\x4d\x31\x30\x2c\x30\x2e\
-\x34\x0a\x09\x63\x35\x2e\x33\x30\x32\x2c\x30\x2c\x39\x2e\x36\x2c\
-\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\
-\x35\x2e\x33\x30\x33\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2d\
-\x39\x2e\x36\x2c\x39\x2e\x36\x53\x30\x2e\x34\x2c\x31\x35\x2e\x33\
-\x30\x33\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\x2c\x34\x2e\
-\x36\x39\x38\x2c\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\
-\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\
-\x0a\x09\x63\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\
-\x2d\x33\x2e\x37\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
-\x34\x63\x30\x2d\x34\x2e\x36\x31\x34\x2d\x33\x2e\x37\x34\x31\x2d\
-\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
-\x34\x63\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\
-\x2c\x33\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\
-\x34\x0a\x09\x43\x31\x2e\x36\x34\x35\x2c\x31\x34\x2e\x36\x31\x34\
-\x2c\x35\x2e\x33\x38\x35\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\
-\x2c\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\
-\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\xa3\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
-\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
-\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
-\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
-\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
-\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
-\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
-\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
-\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
-\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
-\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
-\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
-\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
-\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
-\x20\x34\x2e\x33\x35\x34\x33\x38\x20\x32\x34\x2e\x39\x32\x38\x37\
-\x20\x38\x2e\x34\x33\x32\x31\x37\x20\x31\x38\x2e\x30\x30\x31\x34\
-\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
-\x43\x20\x33\x31\x2e\x37\x33\x33\x39\x20\x2d\x33\x2e\x33\x31\x36\
-\x37\x35\x20\x35\x37\x2e\x32\x39\x34\x33\x20\x33\x2e\x35\x39\x37\
-\x39\x37\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\
-\x37\x38\x43\x20\x35\x38\x2e\x36\x37\x38\x38\x20\x33\x30\x2e\x38\
-\x30\x31\x39\x20\x35\x31\x2e\x31\x37\x38\x33\x20\x33\x37\x2e\x36\
-\x34\x34\x31\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\
-\x31\x31\x39\x43\x20\x32\x37\x2e\x34\x36\x34\x36\x20\x34\x39\x2e\
-\x30\x38\x31\x38\x20\x39\x2e\x32\x36\x34\x35\x31\x20\x34\x36\x2e\
-\x30\x39\x36\x34\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\
-\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
-\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
-\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
-\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
-\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
-\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
-\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
-\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
-\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
-\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
-\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
-\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
-\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
-\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
-\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
-\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
-\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
-\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
-\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
-\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
-\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
-\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
-\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
-\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
-\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
-\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
-\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
-\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
-\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
-\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
-\x67\x3e\
-\x00\x00\x03\x03\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x68\x65\x63\x6b\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
-\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
-\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
-\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
-\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
-\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\x30\
-\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
-\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x65\x6e\x61\x62\x6c\x65\
-\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\x77\
-\x20\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x78\x6d\x6c\x3a\
-\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\
-\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x38\x2e\x32\x39\
-\x34\x2c\x31\x36\x2e\x39\x39\x38\x63\x2d\x30\x2e\x34\x33\x35\x2c\
-\x30\x2d\x30\x2e\x38\x34\x37\x2d\x30\x2e\x32\x30\x33\x2d\x31\x2e\
-\x31\x31\x31\x2d\x30\x2e\x35\x35\x33\x4c\x33\x2e\x36\x31\x2c\x31\
-\x31\x2e\x37\x32\x34\x63\x2d\x30\x2e\x34\x36\x35\x2d\x30\x2e\x36\
-\x31\x33\x2d\x30\x2e\x33\x34\x34\x2d\x31\x2e\x34\x38\x36\x2c\x30\
-\x2e\x32\x37\x2d\x31\x2e\x39\x35\x31\x0a\x09\x63\x30\x2e\x36\x31\
-\x35\x2d\x30\x2e\x34\x36\x37\x2c\x31\x2e\x34\x38\x38\x2d\x30\x2e\
-\x33\x34\x34\x2c\x31\x2e\x39\x35\x33\x2c\x30\x2e\x32\x37\x6c\x32\
-\x2e\x33\x35\x31\x2c\x33\x2e\x31\x30\x34\x6c\x35\x2e\x39\x31\x31\
-\x2d\x39\x2e\x34\x39\x32\x63\x30\x2e\x34\x30\x37\x2d\x30\x2e\x36\
-\x35\x32\x2c\x31\x2e\x32\x36\x37\x2d\x30\x2e\x38\x35\x32\x2c\x31\
-\x2e\x39\x32\x31\x2d\x30\x2e\x34\x34\x35\x0a\x09\x63\x30\x2e\x36\
-\x35\x33\x2c\x30\x2e\x34\x30\x36\x2c\x30\x2e\x38\x35\x34\x2c\x31\
-\x2e\x32\x36\x36\x2c\x30\x2e\x34\x34\x36\x2c\x31\x2e\x39\x32\x4c\
-\x39\x2e\x34\x37\x38\x2c\x31\x36\x2e\x33\x34\x63\x2d\x30\x2e\x32\
-\x34\x32\x2c\x30\x2e\x33\x39\x31\x2d\x30\x2e\x36\x36\x31\x2c\x30\
-\x2e\x36\x33\x35\x2d\x31\x2e\x31\x32\x2c\x30\x2e\x36\x35\x36\x43\
-\x38\x2e\x33\x33\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x33\
-\x31\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x32\x39\x34\x2c\
-\x31\x36\x2e\x39\x39\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\
-\x3e\x0a\
-\x00\x00\x02\x72\
+\x00\x00\x01\xd8\
+\x00\
+\x00\x06\xc4\x78\x9c\xcd\x54\x4d\x6f\x9b\x40\x10\x3d\xe3\x5f\x31\
+\xdd\x5b\x25\xf6\x0b\x62\x62\x53\xe3\xa8\xfe\x90\x65\x29\x6d\x2d\
+\x35\x75\xd5\x53\x85\x61\x0b\x28\x14\x10\x2c\x60\xe7\xd7\x77\x77\
+\xed\x54\xa9\x14\x5f\x43\x0f\x3b\xab\x9d\x79\xf3\xe6\x0d\x4f\x62\
+\x76\x77\xfc\x9d\x43\x27\xea\x26\x2b\x8b\x00\x71\xc2\x10\x88\x22\
+\x2a\xe3\xac\x48\x02\xd4\xca\x5f\x78\x82\xee\xe6\xa3\xd9\x3b\x8c\
+\x61\x23\x0a\x51\x87\xb2\xac\x7d\xf8\x18\x97\x07\x01\xdb\x3c\x6f\
+\x1b\x69\x52\xc0\x3d\xe2\x10\x6e\xc3\xd7\xfd\x06\xd6\xc7\xaa\xac\
+\x25\xec\xf2\x36\xc1\xdb\x02\x88\x49\xee\xcf\x33\x7c\xf0\x08\x63\
+\xb0\x68\xb3\x3c\x06\xf6\x1e\x00\x63\x4d\xbf\xfa\xb2\x7c\xf8\xb1\
+\x5b\x43\xd3\x25\xb0\xfb\xb6\xb8\xdf\x2e\x01\x61\x4a\xbf\xbb\x4b\
+\x4a\x57\x0f\x2b\xc3\xc0\x09\xa7\x74\xfd\x19\x01\x4a\xa5\xac\x7c\
+\x4a\xfb\xbe\x27\xbd\x4b\xca\x3a\xa1\x9b\x3a\xac\xd2\x2c\x6a\xa8\
+\x02\x52\x0d\x54\x4d\x54\x91\x71\x4e\x62\x19\x23\x35\x42\x33\xbf\
+\xd8\x93\x23\xc8\xe2\x00\xdd\x87\x27\x51\xff\x54\x0f\xf5\x19\x8a\
+\x26\x78\x85\xd9\x61\x8c\x69\xa6\x0b\xc4\x3f\xe6\x59\xf1\xf8\x1a\
+\x90\x4f\xa7\x53\x6a\xaa\x0a\x1a\x20\x56\x1d\x11\x9c\xce\xf7\xc8\
+\x82\x3e\x8b\x65\x1a\xa0\x31\x77\x74\x3e\x15\x59\x92\xca\xbf\xcf\
+\x2e\x13\xfd\xa2\xd4\x4d\xc0\x40\xe5\xf4\x41\xd0\xc8\x53\x2e\x02\
+\x24\x8a\xf0\x90\x0b\x7c\x08\xa3\xc7\xa4\x2e\xdb\x22\xf6\x0b\xd1\
+\xc3\x0b\xe4\x07\x23\xcd\x6f\xaa\x30\x52\xf0\xaa\x16\x8d\xa8\x3b\
+\xa1\x77\x4e\xe6\x23\xcb\x04\x6b\x56\x85\x32\x05\xb5\xf0\x27\xee\
+\x31\x9b\x8f\x5d\xe2\x46\xcc\x76\xc9\x2d\x76\x6d\x4f\x45\x75\xf4\
+\x9d\xe2\x31\x23\xe3\x08\xab\x82\xcd\x74\x12\xbb\xf8\x52\xee\xce\
+\x25\x66\x6a\xee\x73\x83\xbe\x53\x53\x30\x2d\x3a\x65\x1b\x46\x7d\
+\xf6\x66\xce\x93\x5a\xdf\xb2\xe8\xbf\x2a\x9c\xc9\xe4\x3f\x50\x71\
+\xc3\xbd\xa1\x54\xcc\xe8\x35\x73\x9c\x09\x7f\x13\x41\x66\xce\x55\
+\x73\x86\x57\xa1\xcd\x19\x48\xc5\x75\x73\x6e\xd8\xf4\x4d\x04\x99\
+\x39\x57\xcd\x19\x5e\x85\x36\x67\x20\x15\xc6\x9c\x4b\x50\xff\xe5\
+\xf9\xe8\x0f\x44\x1a\x94\x79\
+\x00\x00\x02\xab\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -719,26 +504,20 @@ qt_resource_data = b"\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x38\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\
-\x74\x68\x20\x64\x3d\x22\x4d\x34\x32\x37\x2c\x32\x33\x34\x2e\x36\
-\x32\x35\x48\x31\x36\x37\x2e\x32\x39\x36\x6c\x31\x31\x39\x2e\x37\
-\x30\x32\x2d\x31\x31\x39\x2e\x37\x30\x32\x4c\x32\x35\x36\x2c\x38\
-\x35\x4c\x38\x35\x2c\x32\x35\x36\x6c\x31\x37\x31\x2c\x31\x37\x31\
-\x6c\x32\x39\x2e\x39\x32\x32\x2d\x32\x39\x2e\x39\x32\x34\x4c\x31\
-\x36\x37\x2e\x32\x39\x36\x2c\x32\x37\x37\x2e\x33\x37\x35\x48\x34\
-\x32\x37\x56\x32\x33\x34\x2e\x36\x32\x35\x7a\x22\x2f\x3e\x0a\x09\
-\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x0a\
-\x00\x00\x00\x6c\
-\x3c\
-\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
-\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
-\x30\x2f\x73\x76\x67\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\
-\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x3e\x3c\x70\x61\x74\x68\
-\x20\x64\x3d\x22\x4d\x31\x38\x20\x31\x32\x76\x31\x48\x38\x76\x35\
-\x6c\x2d\x36\x2d\x36\x20\x36\x2d\x36\x76\x35\x68\x38\x56\x32\x68\
-\x32\x7a\x22\x2f\x3e\x3c\x2f\x73\x76\x67\x3e\
-\x00\x00\x03\x2a\
+\x5f\x35\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x30\
+\x35\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x33\x37\x35\x2e\x32\x30\
+\x32\x2c\x31\x30\x37\x20\x32\x35\x36\x2c\x32\x32\x36\x2e\x32\x30\
+\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x31\x30\x37\x20\x31\x30\
+\x37\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x32\x32\x36\x2e\x32\x30\
+\x32\x2c\x32\x35\x36\x20\x31\x30\x37\x2c\x33\x37\x35\x2e\x32\x30\
+\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x34\x30\x35\x20\x32\x35\
+\x36\x2c\x32\x38\x35\x2e\x37\x39\x38\x20\x0a\x09\x09\x09\x33\x37\
+\x35\x2e\x32\x30\x32\x2c\x34\x30\x35\x20\x34\x30\x35\x2c\x33\x37\
+\x35\x2e\x32\x30\x32\x20\x32\x38\x35\x2e\x37\x39\x38\x2c\x32\x35\
+\x36\x20\x09\x09\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x1b\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -769,49 +548,28 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\
-\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\x36\x2e\x37\
-\x39\x35\x2c\x33\x39\x36\x2e\x38\x20\x33\x32\x30\x2c\x33\x39\x36\
-\x2e\x38\x20\x33\x32\x30\x2c\x34\x34\x38\x20\x34\x34\x38\x2c\x34\
-\x34\x38\x20\x34\x34\x38\x2c\x33\x32\x30\x20\x33\x39\x36\x2e\x37\
-\x39\x35\x2c\x33\x32\x30\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
-\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\
-\x36\x2e\x38\x2c\x31\x31\x35\x2e\x32\x30\x35\x20\x33\x39\x36\x2e\
-\x38\x2c\x31\x39\x32\x20\x34\x34\x38\x2c\x31\x39\x32\x20\x34\x34\
-\x38\x2c\x36\x34\x20\x33\x32\x30\x2c\x36\x34\x20\x33\x32\x30\x2c\
-\x31\x31\x35\x2e\x32\x30\x35\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\
-\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\
-\x31\x35\x2e\x32\x30\x35\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\
-\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\x2c\x36\x34\x20\x36\x34\
-\x2c\x36\x34\x20\x36\x34\x2c\x31\x39\x32\x20\x31\x31\x35\x2e\x32\
-\x30\x35\x2c\x31\x39\x32\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
-\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\x31\
-\x35\x2e\x32\x2c\x33\x39\x36\x2e\x37\x39\x35\x20\x31\x31\x35\x2e\
-\x32\x2c\x33\x32\x30\x20\x36\x34\x2c\x33\x32\x30\x20\x36\x34\x2c\
-\x34\x34\x38\x20\x31\x39\x32\x2c\x34\x34\x38\x20\x31\x39\x32\x2c\
-\x33\x39\x36\x2e\x37\x39\x35\x20\x09\x22\x2f\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x01\x1c\
-\x3c\
-\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
-\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
-\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
-\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\
-\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x0a\
-\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\
-\x74\x72\x69\x78\x28\x34\x38\x20\x30\x20\x30\x20\x34\x38\x20\x34\
-\x38\x20\x34\x38\x29\x27\x3e\x0a\x20\x20\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x30\x20\x30\x76\x32\x68\x2e\x35\x63\x30\x2d\x2e\
-\x35\x35\x2e\x34\x35\x2d\x31\x20\x31\x2d\x31\x68\x31\x2e\x35\x76\
-\x35\x2e\x35\x63\x30\x20\x2e\x32\x38\x2d\x2e\x32\x32\x2e\x35\x2d\
-\x2e\x35\x2e\x35\x68\x2d\x2e\x35\x76\x31\x68\x34\x76\x2d\x31\x68\
-\x2d\x2e\x35\x63\x2d\x2e\x32\x38\x20\x30\x2d\x2e\x35\x2d\x2e\x32\
-\x32\x2d\x2e\x35\x2d\x2e\x35\x76\x2d\x35\x2e\x35\x68\x31\x2e\x35\
-\x63\x2e\x35\x35\x20\x30\x20\x31\x20\x2e\x34\x35\x20\x31\x20\x31\
-\x68\x2e\x35\x76\x2d\x32\x68\x2d\x38\x7a\x22\x20\x2f\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\x54\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x32\x35\x36\x2c\x33\x38\x38\x63\x2d\x37\x32\x2e\
+\x35\x39\x37\x2c\x30\x2d\x31\x33\x32\x2d\x35\x39\x2e\x34\x30\x35\
+\x2d\x31\x33\x32\x2d\x31\x33\x32\x63\x30\x2d\x37\x32\x2e\x36\x30\
+\x31\x2c\x35\x39\x2e\x34\x30\x33\x2d\x31\x33\x32\x2c\x31\x33\x32\
+\x2d\x31\x33\x32\x63\x33\x36\x2e\x33\x2c\x30\x2c\x36\x39\x2e\x32\
+\x39\x39\x2c\x31\x35\x2e\x34\x2c\x39\x32\x2e\x34\x30\x36\x2c\x33\
+\x39\x2e\x36\x30\x31\x4c\x32\x37\x38\x2c\x32\x33\x34\x68\x31\x35\
+\x34\x56\x38\x30\x0a\x09\x09\x6c\x2d\x35\x31\x2e\x36\x39\x38\x2c\
+\x35\x31\x2e\x37\x30\x32\x43\x33\x34\x38\x2e\x34\x30\x36\x2c\x39\
+\x39\x2e\x37\x39\x38\x2c\x33\x30\x34\x2e\x34\x30\x36\x2c\x38\x30\
+\x2c\x32\x35\x36\x2c\x38\x30\x63\x2d\x39\x36\x2e\x37\x39\x37\x2c\
+\x30\x2d\x31\x37\x36\x2c\x37\x39\x2e\x32\x30\x33\x2d\x31\x37\x36\
+\x2c\x31\x37\x36\x73\x37\x38\x2e\x30\x39\x34\x2c\x31\x37\x36\x2c\
+\x31\x37\x36\x2c\x31\x37\x36\x0a\x09\x09\x63\x38\x31\x2e\x30\x34\
+\x35\x2c\x30\x2c\x31\x34\x38\x2e\x32\x38\x37\x2d\x35\x34\x2e\x31\
+\x33\x34\x2c\x31\x36\x39\x2e\x34\x30\x31\x2d\x31\x32\x38\x48\x33\
+\x37\x38\x2e\x38\x35\x43\x33\x36\x30\x2e\x31\x30\x35\x2c\x33\x35\
+\x33\x2e\x35\x36\x31\x2c\x33\x31\x31\x2e\x37\x31\x32\x2c\x33\x38\
+\x38\x2c\x32\x35\x36\x2c\x33\x38\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x77\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -838,52 +596,22 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x37\x36\x63\x2d\x34\x34\x2e\
-\x30\x30\x34\x2c\x30\x2d\x38\x30\x2e\x30\x30\x31\x2c\x33\x36\x2d\
-\x38\x30\x2e\x30\x30\x31\x2c\x38\x30\x63\x30\x2c\x34\x34\x2e\x30\
-\x30\x34\x2c\x33\x35\x2e\x39\x39\x37\x2c\x38\x30\x2c\x38\x30\x2e\
-\x30\x30\x31\x2c\x38\x30\x63\x34\x34\x2e\x30\x30\x35\x2c\x30\x2c\
-\x37\x39\x2e\x39\x39\x39\x2d\x33\x35\x2e\x39\x39\x36\x2c\x37\x39\
-\x2e\x39\x39\x39\x2d\x38\x30\x0a\x09\x09\x09\x43\x33\x33\x35\x2e\
-\x39\x39\x39\x2c\x32\x31\x32\x2c\x33\x30\x30\x2e\x30\x30\x35\x2c\
-\x31\x37\x36\x2c\x32\x35\x36\x2c\x31\x37\x36\x7a\x20\x4d\x34\x34\
-\x36\x2e\x39\x33\x38\x2c\x32\x33\x34\x2e\x36\x36\x37\x63\x2d\x39\
-\x2e\x36\x30\x35\x2d\x38\x38\x2e\x35\x33\x31\x2d\x38\x31\x2e\x30\
-\x37\x34\x2d\x31\x36\x30\x2d\x31\x36\x39\x2e\x36\x30\x35\x2d\x31\
-\x36\x39\x2e\x35\x39\x39\x56\x33\x32\x68\x2d\x34\x32\x2e\x36\x36\
-\x36\x76\x33\x33\x2e\x30\x36\x37\x0a\x09\x09\x09\x63\x2d\x38\x38\
-\x2e\x35\x33\x31\x2c\x39\x2e\x35\x39\x39\x2d\x31\x36\x30\x2c\x38\
-\x31\x2e\x30\x36\x38\x2d\x31\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\
-\x39\x2e\x35\x39\x39\x48\x33\x32\x76\x34\x32\x2e\x36\x36\x37\x68\
-\x33\x33\x2e\x30\x36\x32\x63\x39\x2e\x36\x30\x34\x2c\x38\x38\x2e\
-\x35\x33\x31\x2c\x38\x31\x2e\x30\x37\x32\x2c\x31\x36\x30\x2c\x31\
-\x36\x39\x2e\x36\x30\x34\x2c\x31\x36\x39\x2e\x36\x30\x34\x56\x34\
-\x38\x30\x68\x34\x32\x2e\x36\x36\x36\x76\x2d\x33\x33\x2e\x30\x36\
-\x32\x0a\x09\x09\x09\x63\x38\x38\x2e\x35\x33\x31\x2d\x39\x2e\x36\
-\x30\x34\x2c\x31\x36\x30\x2d\x38\x31\x2e\x30\x37\x33\x2c\x31\x36\
-\x39\x2e\x36\x30\x35\x2d\x31\x36\x39\x2e\x36\x30\x34\x48\x34\x38\
-\x30\x76\x2d\x34\x32\x2e\x36\x36\x37\x48\x34\x34\x36\x2e\x39\x33\
-\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x30\x35\x2e\x33\x33\x33\x63\
-\x2d\x38\x32\x2e\x31\x33\x37\x2c\x30\x2d\x31\x34\x39\x2e\x33\x33\
-\x34\x2d\x36\x37\x2e\x31\x39\x38\x2d\x31\x34\x39\x2e\x33\x33\x34\
-\x2d\x31\x34\x39\x2e\x33\x33\x33\x0a\x09\x09\x09\x63\x30\x2d\x38\
-\x32\x2e\x31\x33\x36\x2c\x36\x37\x2e\x31\x39\x37\x2d\x31\x34\x39\
-\x2e\x33\x33\x33\x2c\x31\x34\x39\x2e\x33\x33\x34\x2d\x31\x34\x39\
-\x2e\x33\x33\x33\x63\x38\x32\x2e\x31\x33\x35\x2c\x30\x2c\x31\x34\
-\x39\x2e\x33\x33\x32\x2c\x36\x37\x2e\x31\x39\x38\x2c\x31\x34\x39\
-\x2e\x33\x33\x32\x2c\x31\x34\x39\x2e\x33\x33\x33\x43\x34\x30\x35\
-\x2e\x33\x33\x32\x2c\x33\x33\x38\x2e\x31\x33\x35\x2c\x33\x33\x38\
-\x2e\x31\x33\x35\x2c\x34\x30\x35\x2e\x33\x33\x33\x2c\x32\x35\x36\
-\x2c\x34\x30\x35\x2e\x33\x33\x33\x7a\x0a\x09\x09\x09\x22\x2f\x3e\
-\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
-\x67\x3e\x0a\
-\x00\x00\x02\x72\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
+\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x32\x38\x38\
+\x2c\x39\x36\x20\x33\x33\x37\x2e\x39\x2c\x31\x34\x35\x2e\x39\x20\
+\x32\x37\x34\x2c\x32\x30\x39\x2e\x37\x20\x32\x37\x34\x2c\x32\x30\
+\x39\x2e\x37\x20\x31\x34\x35\x2e\x39\x2c\x33\x33\x37\x2e\x39\x20\
+\x39\x36\x2c\x32\x38\x38\x20\x39\x36\x2c\x34\x31\x36\x20\x32\x32\
+\x34\x2c\x34\x31\x36\x20\x31\x37\x34\x2e\x31\x2c\x33\x36\x36\x2e\
+\x31\x20\x33\x35\x37\x2e\x34\x2c\x31\x38\x32\x2e\x39\x20\x33\x36\
+\x36\x2e\x31\x2c\x31\x37\x34\x2e\x31\x20\x0a\x09\x34\x31\x36\x2c\
+\x32\x32\x34\x20\x34\x31\x36\x2c\x39\x36\x20\x22\x2f\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x6c\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -915,17 +643,16 @@ qt_resource_data = b"\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x38\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\
-\x74\x68\x20\x64\x3d\x22\x4d\x38\x35\x2c\x32\x37\x37\x2e\x33\x37\
-\x35\x68\x32\x35\x39\x2e\x37\x30\x34\x4c\x32\x32\x35\x2e\x30\x30\
-\x32\x2c\x33\x39\x37\x2e\x30\x37\x37\x4c\x32\x35\x36\x2c\x34\x32\
-\x37\x6c\x31\x37\x31\x2d\x31\x37\x31\x4c\x32\x35\x36\x2c\x38\x35\
-\x6c\x2d\x32\x39\x2e\x39\x32\x32\x2c\x32\x39\x2e\x39\x32\x34\x6c\
-\x31\x31\x38\x2e\x36\x32\x36\x2c\x31\x31\x39\x2e\x37\x30\x31\x48\
-\x38\x35\x56\x32\x37\x37\x2e\x33\x37\x35\x7a\x22\x2f\x3e\x0a\x09\
-\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x0a\
-\x00\x00\x04\x13\
+\x5f\x31\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x67\x3e\
+\x0a\x09\x09\x09\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\
+\x6e\x74\x73\x3d\x22\x31\x38\x36\x2e\x33\x30\x31\x2c\x33\x33\x39\
+\x2e\x38\x39\x33\x20\x39\x36\x2c\x32\x34\x39\x2e\x34\x36\x31\x20\
+\x36\x34\x2c\x32\x37\x39\x2e\x39\x36\x38\x20\x31\x38\x36\x2e\x33\
+\x30\x31\x2c\x34\x30\x32\x20\x34\x34\x38\x2c\x31\x34\x30\x2e\x35\
+\x30\x36\x20\x34\x31\x36\x2c\x31\x31\x30\x20\x09\x09\x09\x22\x2f\
+\x3e\x0a\x09\x09\x3c\x2f\x67\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x22\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
@@ -952,48 +679,49 @@ qt_resource_data = b"\
\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
-\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
-\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
-\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
-\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
-\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
-\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x31\x39\x4c\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\
+\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\
+\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\
+\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\
+\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\
+\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\x37\
+\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
+\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\
+\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\
+\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\
+\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\x2e\
+\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\x27\
+\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\
+\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\
+\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\
+\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\
+\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\
+\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\x20\
+\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\x6c\
+\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
+\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\
+\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\
+\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\
+\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\
+\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\x27\
+\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\
+\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\
+\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
-\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
-\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
-\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
-\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
-\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
-\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
-\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
-\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
-\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
-\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
-\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
-\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
-\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
-\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
-\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
-\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
-\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
-\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
-\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
-\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
-\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
-\x67\x3e\
-\x00\x00\x03\xdc\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x34\
+\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\x37\
+\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\
+\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\
+\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\
+\x3e\
+\x00\x00\x03\x16\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1020,94 +748,38 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
-\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
-\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\
-\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\
-\x32\x38\x63\x2d\x38\x31\x2e\x39\x2c\x30\x2d\x31\x34\x35\x2e\x37\
-\x2c\x34\x38\x2e\x38\x2d\x32\x32\x34\x2c\x31\x32\x38\x63\x36\x37\
-\x2e\x34\x2c\x36\x37\x2e\x37\x2c\x31\x32\x34\x2c\x31\x32\x38\x2c\
-\x32\x32\x34\x2c\x31\x32\x38\x63\x39\x39\x2e\x39\x2c\x30\x2c\x31\
-\x37\x33\x2e\x34\x2d\x37\x36\x2e\x34\x2c\x32\x32\x34\x2d\x31\x32\
-\x36\x2e\x36\x0a\x09\x09\x43\x34\x32\x38\x2e\x32\x2c\x31\x39\x38\
-\x2e\x36\x2c\x33\x35\x34\x2e\x38\x2c\x31\x32\x38\x2c\x32\x35\x36\
-\x2c\x31\x32\x38\x7a\x20\x4d\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\
-\x63\x2d\x34\x39\x2e\x34\x2c\x30\x2d\x38\x39\x2e\x36\x2d\x34\x31\
-\x2d\x38\x39\x2e\x36\x2d\x39\x31\x2e\x33\x63\x30\x2d\x35\x30\x2e\
-\x34\x2c\x34\x30\x2e\x32\x2d\x39\x31\x2e\x33\x2c\x38\x39\x2e\x36\
-\x2d\x39\x31\x2e\x33\x73\x38\x39\x2e\x36\x2c\x34\x31\x2c\x38\x39\
-\x2e\x36\x2c\x39\x31\x2e\x33\x0a\x09\x09\x43\x33\x34\x35\x2e\x36\
-\x2c\x33\x30\x36\x2e\x34\x2c\x33\x30\x35\x2e\x34\x2c\x33\x34\x37\
-\x2e\x33\x2c\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\x7a\x22\x2f\x3e\
-\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x22\x4d\x32\x35\x36\x2c\x32\x32\x34\x63\x30\x2d\x37\x2e\x39\x2c\
-\x32\x2e\x39\x2d\x31\x35\x2e\x31\x2c\x37\x2e\x36\x2d\x32\x30\x2e\
-\x37\x63\x2d\x32\x2e\x35\x2d\x30\x2e\x34\x2d\x35\x2d\x30\x2e\x36\
-\x2d\x37\x2e\x36\x2d\x30\x2e\x36\x63\x2d\x32\x38\x2e\x38\x2c\x30\
-\x2d\x35\x32\x2e\x33\x2c\x32\x33\x2e\x39\x2d\x35\x32\x2e\x33\x2c\
-\x35\x33\x2e\x33\x63\x30\x2c\x32\x39\x2e\x34\x2c\x32\x33\x2e\x35\
-\x2c\x35\x33\x2e\x33\x2c\x35\x32\x2e\x33\x2c\x35\x33\x2e\x33\x0a\
-\x09\x09\x09\x73\x35\x32\x2e\x33\x2d\x32\x33\x2e\x39\x2c\x35\x32\
-\x2e\x33\x2d\x35\x33\x2e\x33\x63\x30\x2d\x32\x2e\x33\x2d\x30\x2e\
-\x32\x2d\x34\x2e\x36\x2d\x30\x2e\x34\x2d\x36\x2e\x39\x63\x2d\x35\
-\x2e\x35\x2c\x34\x2e\x33\x2d\x31\x32\x2e\x33\x2c\x36\x2e\x39\x2d\
-\x31\x39\x2e\x38\x2c\x36\x2e\x39\x43\x32\x37\x30\x2e\x33\x2c\x32\
-\x35\x36\x2c\x32\x35\x36\x2c\x32\x34\x31\x2e\x37\x2c\x32\x35\x36\
-\x2c\x32\x32\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\x97\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x53\
-\x61\x76\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
-\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
-\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
-\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\x3d\x22\
-\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\
-\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\
-\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
-\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\
-\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\
-\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
-\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\
-\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\
-\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x35\x2e\x31\x37\x33\x2c\
-\x32\x48\x34\x43\x32\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x2e\
-\x39\x2c\x32\x2c\x34\x76\x31\x32\x63\x30\x2c\x31\x2e\x31\x2c\x30\
-\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x68\x31\x32\x63\x31\x2e\
-\x31\x30\x31\x2c\x30\x2c\x32\x2d\x30\x2e\x39\x2c\x32\x2d\x32\x56\
-\x35\x2e\x31\x32\x37\x4c\x31\x35\x2e\x31\x37\x33\x2c\x32\x7a\x20\
-\x4d\x31\x34\x2c\x38\x63\x30\x2c\x30\x2e\x35\x34\x39\x2d\x30\x2e\
-\x34\x35\x2c\x31\x2d\x31\x2c\x31\x48\x37\x0a\x09\x43\x36\x2e\x34\
-\x35\x2c\x39\x2c\x36\x2c\x38\x2e\x35\x34\x39\x2c\x36\x2c\x38\x56\
-\x33\x68\x38\x56\x38\x7a\x20\x4d\x31\x33\x2c\x34\x68\x2d\x32\x76\
-\x34\x68\x32\x56\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\xe7\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x63\x69\x72\x63\x6c\
+\x65\x20\x63\x78\x3d\x22\x32\x35\x36\x22\x20\x63\x79\x3d\x22\x32\
+\x38\x30\x22\x20\x72\x3d\x22\x36\x33\x22\x2f\x3e\x0a\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x34\x30\x2c\x39\x36\x68\x2d\
+\x38\x38\x6c\x2d\x33\x32\x2d\x33\x32\x48\x31\x39\x32\x6c\x2d\x33\
+\x32\x2c\x33\x32\x48\x37\x32\x63\x2d\x32\x32\x2e\x30\x39\x32\x2c\
+\x30\x2d\x34\x30\x2c\x31\x37\x2e\x39\x30\x38\x2d\x34\x30\x2c\x34\
+\x30\x76\x32\x37\x32\x63\x30\x2c\x32\x32\x2e\x30\x39\x32\x2c\x31\
+\x37\x2e\x39\x30\x38\x2c\x34\x30\x2c\x34\x30\x2c\x34\x30\x68\x33\
+\x36\x38\x63\x32\x32\x2e\x30\x39\x32\x2c\x30\x2c\x34\x30\x2d\x31\
+\x37\x2e\x39\x30\x38\x2c\x34\x30\x2d\x34\x30\x0a\x09\x09\x56\x31\
+\x33\x36\x43\x34\x38\x30\x2c\x31\x31\x33\x2e\x39\x30\x38\x2c\x34\
+\x36\x32\x2e\x30\x39\x32\x2c\x39\x36\x2c\x34\x34\x30\x2c\x39\x36\
+\x7a\x20\x4d\x32\x35\x36\x2c\x33\x39\x32\x63\x2d\x36\x31\x2e\x38\
+\x35\x35\x2c\x30\x2d\x31\x31\x32\x2d\x35\x30\x2e\x31\x34\x35\x2d\
+\x31\x31\x32\x2d\x31\x31\x32\x73\x35\x30\x2e\x31\x34\x35\x2d\x31\
+\x31\x32\x2c\x31\x31\x32\x2d\x31\x31\x32\x73\x31\x31\x32\x2c\x35\
+\x30\x2e\x31\x34\x35\x2c\x31\x31\x32\x2c\x31\x31\x32\x0a\x09\x09\
+\x53\x33\x31\x37\x2e\x38\x35\x35\x2c\x33\x39\x32\x2c\x32\x35\x36\
+\x2c\x33\x39\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\xc1\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
@@ -1118,39 +790,37 @@ qt_resource_data = b"\
\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x69\x72\x63\x6c\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\
-\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\
-\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\
-\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\
-\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\
-\x69\x6e\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\
-\x3d\x22\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\
-\x6f\x78\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\
-\x20\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\
-\x6e\x64\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\
-\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\
-\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\
-\x32\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x30\x2c\x30\x2e\
-\x34\x43\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x30\x2e\x34\x2c\
-\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\
-\x2c\x31\x35\x2e\x33\x30\x32\x2c\x34\x2e\x36\x39\x38\x2c\x31\x39\
-\x2e\x36\x2c\x31\x30\x2c\x31\x39\x2e\x36\x63\x35\x2e\x33\x30\x31\
-\x2c\x30\x2c\x39\x2e\x36\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\
-\x2d\x39\x2e\x36\x30\x31\x0a\x09\x43\x31\x39\x2e\x36\x2c\x34\x2e\
-\x36\x39\x38\x2c\x31\x35\x2e\x33\x30\x31\x2c\x30\x2e\x34\x2c\x31\
-\x30\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x37\x2e\x35\x39\
-\x39\x63\x2d\x34\x2e\x31\x39\x37\x2c\x30\x2d\x37\x2e\x36\x2d\x33\
-\x2e\x34\x30\x32\x2d\x37\x2e\x36\x2d\x37\x2e\x36\x53\x35\x2e\x38\
-\x30\x32\x2c\x32\x2e\x34\x2c\x31\x30\x2c\x32\x2e\x34\x63\x34\x2e\
-\x31\x39\x37\x2c\x30\x2c\x37\x2e\x36\x30\x31\x2c\x33\x2e\x34\x30\
-\x32\x2c\x37\x2e\x36\x30\x31\x2c\x37\x2e\x36\x0a\x09\x53\x31\x34\
-\x2e\x31\x39\x37\x2c\x31\x37\x2e\x35\x39\x39\x2c\x31\x30\x2c\x31\
-\x37\x2e\x35\x39\x39\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x16\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
+\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x38\x30\
+\x2c\x32\x35\x36\x20\x33\x38\x34\x2c\x31\x36\x30\x20\x33\x38\x34\
+\x2c\x32\x33\x36\x20\x32\x37\x36\x2c\x32\x33\x36\x20\x32\x37\x36\
+\x2c\x31\x32\x38\x20\x33\x35\x32\x2c\x31\x32\x38\x20\x32\x35\x36\
+\x2c\x33\x32\x20\x31\x36\x30\x2c\x31\x32\x38\x20\x32\x33\x36\x2c\
+\x31\x32\x38\x20\x32\x33\x36\x2c\x32\x33\x36\x20\x31\x32\x38\x2c\
+\x32\x33\x36\x20\x31\x32\x38\x2c\x31\x36\x30\x20\x33\x32\x2c\x32\
+\x35\x36\x20\x31\x32\x38\x2c\x33\x35\x32\x20\x0a\x09\x31\x32\x38\
+\x2c\x32\x37\x36\x20\x32\x33\x36\x2c\x32\x37\x36\x20\x32\x33\x36\
+\x2c\x33\x38\x34\x20\x31\x36\x30\x2c\x33\x38\x34\x20\x32\x35\x36\
+\x2c\x34\x38\x30\x20\x33\x35\x32\x2c\x33\x38\x34\x20\x32\x37\x35\
+\x2e\x38\x2c\x33\x38\x34\x20\x32\x37\x35\x2e\x34\x2c\x32\x37\x35\
+\x2e\x35\x20\x33\x38\x34\x2c\x32\x37\x35\x2e\x38\x20\x33\x38\x34\
+\x2c\x33\x35\x32\x20\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\
+\x00\x00\x02\xf0\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1181,28 +851,25 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x63\x69\x72\x63\x6c\
-\x65\x20\x63\x78\x3d\x22\x32\x35\x36\x22\x20\x63\x79\x3d\x22\x32\
-\x38\x30\x22\x20\x72\x3d\x22\x36\x33\x22\x2f\x3e\x0a\x09\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x34\x30\x2c\x39\x36\x68\x2d\
-\x38\x38\x6c\x2d\x33\x32\x2d\x33\x32\x48\x31\x39\x32\x6c\x2d\x33\
-\x32\x2c\x33\x32\x48\x37\x32\x63\x2d\x32\x32\x2e\x30\x39\x32\x2c\
-\x30\x2d\x34\x30\x2c\x31\x37\x2e\x39\x30\x38\x2d\x34\x30\x2c\x34\
-\x30\x76\x32\x37\x32\x63\x30\x2c\x32\x32\x2e\x30\x39\x32\x2c\x31\
-\x37\x2e\x39\x30\x38\x2c\x34\x30\x2c\x34\x30\x2c\x34\x30\x68\x33\
-\x36\x38\x63\x32\x32\x2e\x30\x39\x32\x2c\x30\x2c\x34\x30\x2d\x31\
-\x37\x2e\x39\x30\x38\x2c\x34\x30\x2d\x34\x30\x0a\x09\x09\x56\x31\
-\x33\x36\x43\x34\x38\x30\x2c\x31\x31\x33\x2e\x39\x30\x38\x2c\x34\
-\x36\x32\x2e\x30\x39\x32\x2c\x39\x36\x2c\x34\x34\x30\x2c\x39\x36\
-\x7a\x20\x4d\x32\x35\x36\x2c\x33\x39\x32\x63\x2d\x36\x31\x2e\x38\
-\x35\x35\x2c\x30\x2d\x31\x31\x32\x2d\x35\x30\x2e\x31\x34\x35\x2d\
-\x31\x31\x32\x2d\x31\x31\x32\x73\x35\x30\x2e\x31\x34\x35\x2d\x31\
-\x31\x32\x2c\x31\x31\x32\x2d\x31\x31\x32\x73\x31\x31\x32\x2c\x35\
-\x30\x2e\x31\x34\x35\x2c\x31\x31\x32\x2c\x31\x31\x32\x0a\x09\x09\
-\x53\x33\x31\x37\x2e\x38\x35\x35\x2c\x33\x39\x32\x2c\x32\x35\x36\
-\x2c\x33\x39\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
-\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x3f\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x32\x30\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x34\x38\x43\x31\
+\x34\x31\x2e\x36\x30\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\
+\x2e\x36\x30\x31\x2c\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\
+\x30\x31\x2c\x32\x30\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\
+\x30\x38\x2d\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\
+\x38\x53\x33\x37\x30\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\
+\x2c\x34\x38\x7a\x20\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x33\x39\
+\x39\x0a\x09\x09\x09\x63\x2d\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\
+\x31\x36\x36\x2e\x33\x39\x39\x2d\x37\x34\x2e\x38\x38\x32\x2d\x31\
+\x36\x36\x2e\x33\x39\x39\x2d\x31\x36\x36\x2e\x33\x39\x39\x53\x31\
+\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\x35\x36\x2c\
+\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\x34\x2e\x34\
+\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\x33\x34\x37\
+\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x33\x39\x39\x2c\x32\x35\x36\
+\x2c\x34\x32\x32\x2e\x33\x39\x39\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x2a\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1233,100 +900,176 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x32\x31\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x35\x32\x63\
-\x2d\x35\x37\x2e\x32\x2c\x30\x2d\x31\x30\x34\x2c\x34\x36\x2e\x38\
-\x2d\x31\x30\x34\x2c\x31\x30\x34\x73\x34\x36\x2e\x38\x2c\x31\x30\
-\x34\x2c\x31\x30\x34\x2c\x31\x30\x34\x73\x31\x30\x34\x2d\x34\x36\
-\x2e\x38\x2c\x31\x30\x34\x2d\x31\x30\x34\x53\x33\x31\x33\x2e\x32\
-\x2c\x31\x35\x32\x2c\x32\x35\x36\x2c\x31\x35\x32\x7a\x20\x4d\x32\
-\x35\x36\x2c\x34\x38\x0a\x09\x09\x09\x43\x31\x34\x31\x2e\x36\x30\
-\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\x2e\x36\x30\x31\x2c\
-\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\
-\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\x30\x38\x2d\x39\x33\
-\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\x38\x53\x33\x37\x30\
-\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\x2c\x34\x38\x7a\x20\
-\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x34\x0a\x09\x09\x09\x63\x2d\
-\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\x31\x36\x36\x2e\x34\x2d\x37\
-\x34\x2e\x38\x38\x33\x2d\x31\x36\x36\x2e\x34\x2d\x31\x36\x36\x2e\
-\x34\x53\x31\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\
-\x35\x36\x2c\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\
-\x34\x2e\x34\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\
-\x33\x34\x37\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\
-\x36\x2c\x34\x32\x32\x2e\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\x42\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\
+\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\x36\x2e\x37\
+\x39\x35\x2c\x33\x39\x36\x2e\x38\x20\x33\x32\x30\x2c\x33\x39\x36\
+\x2e\x38\x20\x33\x32\x30\x2c\x34\x34\x38\x20\x34\x34\x38\x2c\x34\
+\x34\x38\x20\x34\x34\x38\x2c\x33\x32\x30\x20\x33\x39\x36\x2e\x37\
+\x39\x35\x2c\x33\x32\x30\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x33\x39\
+\x36\x2e\x38\x2c\x31\x31\x35\x2e\x32\x30\x35\x20\x33\x39\x36\x2e\
+\x38\x2c\x31\x39\x32\x20\x34\x34\x38\x2c\x31\x39\x32\x20\x34\x34\
+\x38\x2c\x36\x34\x20\x33\x32\x30\x2c\x36\x34\x20\x33\x32\x30\x2c\
+\x31\x31\x35\x2e\x32\x30\x35\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\
+\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\
+\x31\x35\x2e\x32\x30\x35\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\
+\x2c\x31\x31\x35\x2e\x32\x20\x31\x39\x32\x2c\x36\x34\x20\x36\x34\
+\x2c\x36\x34\x20\x36\x34\x2c\x31\x39\x32\x20\x31\x31\x35\x2e\x32\
+\x30\x35\x2c\x31\x39\x32\x20\x09\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\
+\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x31\x31\
+\x35\x2e\x32\x2c\x33\x39\x36\x2e\x37\x39\x35\x20\x31\x31\x35\x2e\
+\x32\x2c\x33\x32\x30\x20\x36\x34\x2c\x33\x32\x30\x20\x36\x34\x2c\
+\x34\x34\x38\x20\x31\x39\x32\x2c\x34\x34\x38\x20\x31\x39\x32\x2c\
+\x33\x39\x36\x2e\x37\x39\x35\x20\x09\x22\x2f\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x05\x9c\
\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
-\x2d\x38\x38\x35\x39\x2d\x31\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\
-\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\
-\x20\x49\x6c\x6c\x75\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\
-\x30\x2e\x30\x2c\x20\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\
-\x50\x6c\x75\x67\x2d\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\
-\x72\x73\x69\x6f\x6e\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\
-\x64\x20\x30\x29\x20\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\
-\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\
-\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\
-\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
-\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
-\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
-\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
-\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
-\x79\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x22\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\x20\x34\
-\x32\x33\x2e\x37\x35\x34\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x65\
-\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
-\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
-\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
-\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x30\x37\x2e\x35\
-\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x6c\x2d\x32\x37\x2e\x37\
-\x31\x37\x2c\x31\x31\x2e\x34\x38\x63\x31\x38\x2e\x35\x38\x35\x2c\
-\x34\x34\x2e\x38\x36\x39\x2c\x31\x38\x2e\x35\x38\x35\x2c\x39\x34\
-\x2e\x32\x39\x31\x2c\x30\x2c\x31\x33\x39\x2e\x31\x35\x39\x63\x2d\
-\x31\x38\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\
-\x2e\x35\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\
-\x2c\x39\x38\x2e\x34\x0a\x09\x63\x2d\x32\x32\x2e\x34\x33\x38\x2c\
-\x39\x2e\x32\x39\x33\x2d\x34\x36\x2e\x30\x30\x34\x2c\x31\x33\x2e\
-\x39\x34\x2d\x36\x39\x2e\x35\x37\x39\x2c\x31\x33\x2e\x39\x33\x39\
-\x63\x2d\x32\x33\x2e\x35\x36\x39\x2d\x30\x2e\x30\x30\x31\x2d\x34\
-\x37\x2e\x31\x34\x37\x2d\x34\x2e\x36\x34\x37\x2d\x36\x39\x2e\x35\
-\x37\x39\x2d\x31\x33\x2e\x39\x33\x39\x63\x2d\x34\x34\x2e\x38\x36\
-\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\x2d\
-\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\x34\
-\x0a\x09\x43\x31\x33\x2e\x35\x30\x37\x2c\x32\x30\x30\x2e\x36\x34\
-\x37\x2c\x33\x34\x2e\x37\x35\x38\x2c\x31\x31\x38\x2e\x37\x31\x2c\
-\x39\x30\x2e\x37\x35\x38\x2c\x36\x38\x2e\x36\x34\x34\x6c\x36\x30\
-\x2e\x38\x30\x31\x2c\x36\x30\x2e\x38\x30\x31\x56\x37\x2e\x35\x32\
-\x31\x48\x32\x39\x2e\x36\x33\x35\x4c\x36\x39\x2e\x35\x31\x34\x2c\
-\x34\x37\x2e\x34\x43\x35\x2e\x32\x32\x32\x2c\x31\x30\x35\x2e\x38\
-\x32\x36\x2d\x31\x38\x2e\x39\x38\x35\x2c\x32\x30\x30\x2e\x36\x2c\
-\x31\x36\x2e\x31\x32\x33\x2c\x32\x38\x35\x2e\x33\x35\x39\x0a\x09\
-\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
-\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
-\x2e\x36\x33\x36\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
-\x31\x33\x37\x2c\x31\x30\x2e\x38\x32\x36\x2c\x35\x33\x2e\x35\x39\
-\x39\x2c\x31\x36\x2e\x32\x33\x39\x2c\x38\x31\x2e\x30\x36\x31\x2c\
-\x31\x36\x2e\x32\x33\x39\x73\x35\x34\x2e\x39\x32\x34\x2d\x35\x2e\
-\x34\x31\x33\x2c\x38\x31\x2e\x30\x36\x2d\x31\x36\x2e\x32\x33\x39\
-\x0a\x09\x63\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x32\
-\x2c\x39\x32\x2e\x39\x38\x34\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\
-\x31\x34\x2e\x36\x33\x37\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\
-\x32\x39\x2e\x31\x36\x37\x2c\x32\x33\x33\x2e\x30\x38\x37\x2c\x34\
-\x32\x39\x2e\x31\x36\x37\x2c\x31\x37\x35\x2e\x35\x31\x31\x2c\x34\
-\x30\x37\x2e\x35\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x7a\x22\
-\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
-\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
-\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
-\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
-\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x0a\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\
+\x39\x31\x43\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x32\x30\x2e\x33\
+\x33\x36\x38\x20\x34\x34\x2e\x36\x39\x36\x39\x20\x31\x36\x2e\x39\
+\x33\x38\x33\x20\x33\x32\x2e\x31\x32\x20\x31\x36\x2e\x39\x33\x38\
+\x33\x43\x20\x31\x39\x2e\x35\x34\x33\x31\x20\x31\x36\x2e\x39\x33\
+\x38\x33\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x30\x2e\x33\x33\
+\x36\x38\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x34\x2e\x35\x32\
+\x39\x31\x43\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x38\x2e\x37\
+\x32\x31\x35\x20\x31\x39\x2e\x35\x34\x33\x31\x20\x33\x32\x2e\x31\
+\x32\x20\x33\x32\x2e\x31\x32\x20\x33\x32\x2e\x31\x32\x43\x20\x34\
+\x34\x2e\x36\x39\x36\x39\x20\x33\x32\x2e\x31\x32\x20\x35\x34\x2e\
+\x38\x39\x32\x36\x20\x32\x38\x2e\x37\x32\x31\x35\x20\x35\x34\x2e\
+\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\x39\x31\x5a\x27\x20\x66\
+\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\
+\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\
+\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\
+\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\
+\x64\x74\x68\x3d\x27\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\
+\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\
+\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x39\x2e\x33\x34\x37\x34\x32\
+\x20\x32\x34\x2e\x35\x32\x39\x31\x4c\x20\x39\x2e\x33\x34\x37\x34\
+\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x39\x2e\x33\x34\x37\
+\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x43\x20\x39\x2e\x33\x34\
+\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x39\x2e\x33\x34\
+\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x39\x2e\x33\x34\
+\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x43\x20\x39\x2e\x33\
+\x34\x37\x34\x32\x20\x35\x39\x2e\x30\x38\x34\x39\x20\x31\x39\x2e\
+\x35\x34\x33\x31\x20\x36\x32\x2e\x34\x38\x33\x34\x20\x33\x32\x2e\
+\x31\x32\x20\x36\x32\x2e\x34\x38\x33\x34\x43\x20\x34\x34\x2e\x36\
+\x39\x36\x39\x20\x36\x32\x2e\x34\x38\x33\x34\x20\x35\x34\x2e\x38\
+\x39\x32\x36\x20\x35\x39\x2e\x30\x38\x34\x39\x20\x35\x34\x2e\x38\
+\x39\x32\x36\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x35\x34\x2e\
+\x38\x39\x32\x36\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x35\x34\
+\x2e\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\x39\x31\x27\x20\x66\
+\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\
+\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\
+\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\
+\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\
+\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\
+\x64\x74\x68\x3d\x27\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
+\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\
+\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\
+\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x35\x34\x2e\x38\x39\x32\x36\
+\x20\x32\x34\x2e\x35\x32\x39\x31\x43\x20\x35\x34\x2e\x38\x39\x32\
+\x36\x20\x31\x31\x2e\x39\x35\x32\x32\x20\x34\x34\x2e\x36\x39\x36\
+\x39\x20\x31\x2e\x37\x35\x36\x35\x36\x20\x33\x32\x2e\x31\x32\x20\
+\x31\x2e\x37\x35\x36\x35\x36\x43\x20\x31\x39\x2e\x35\x34\x33\x31\
+\x20\x31\x2e\x37\x35\x36\x35\x36\x20\x39\x2e\x33\x34\x37\x34\x32\
+\x20\x31\x31\x2e\x39\x35\x32\x32\x20\x39\x2e\x33\x34\x37\x34\x32\
+\x20\x32\x34\x2e\x35\x32\x39\x31\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\
+\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
+\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\
+\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\
+\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\
+\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\
+\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\
+\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x00\x00\x03\x5a\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x36\x32\x2e\x32\x33\
+\x32\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x32\x2e\x30\x30\
+\x37\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x32\x2e\x30\x30\x37\
+\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
+\x35\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\
+\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\
+\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
+\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\
+\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x34\x37\x2e\x31\
+\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x43\x20\x34\x37\x2e\x31\x37\
+\x36\x32\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x34\x30\x2e\x34\x33\
+\x35\x33\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x33\x32\x2e\x31\x32\
+\x20\x31\x37\x2e\x30\x36\x33\x37\x43\x20\x32\x33\x2e\x38\x30\x34\
+\x37\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x31\x37\x2e\x30\x36\x33\
+\x37\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x31\x37\x2e\x30\x36\x33\
+\x37\x20\x33\x32\x2e\x31\x32\x43\x20\x31\x37\x2e\x30\x36\x33\x37\
+\x20\x34\x30\x2e\x34\x33\x35\x33\x20\x32\x33\x2e\x38\x30\x34\x37\
+\x20\x34\x37\x2e\x31\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x20\x34\
+\x37\x2e\x31\x37\x36\x32\x43\x20\x34\x30\x2e\x34\x33\x35\x33\x20\
+\x34\x37\x2e\x31\x37\x36\x32\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
+\x34\x30\x2e\x34\x33\x35\x33\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
+\x33\x32\x2e\x31\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x30\
+\x30\x30\x30\x30\x30\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
\x00\x00\x07\x6b\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -1448,90 +1191,6 @@ qt_resource_data = b"\
\x32\x37\x34\x2c\x33\x38\x32\x2e\x38\x32\x2c\x33\x30\x37\x2e\x38\
\x36\x37\x2c\x33\x38\x32\x2e\x38\x32\x7a\x22\x2f\x3e\x0a\x3c\x2f\
\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x05\x16\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x31\x32\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x36\x34\x43\x31\
-\x35\x30\x2e\x34\x30\x31\x2c\x36\x34\x2c\x36\x34\x2c\x31\x35\x30\
-\x2e\x34\x30\x31\x2c\x36\x34\x2c\x32\x35\x36\x63\x30\x2c\x31\x30\
-\x35\x2e\x36\x30\x34\x2c\x38\x36\x2e\x34\x30\x31\x2c\x31\x39\x32\
-\x2c\x31\x39\x32\x2c\x31\x39\x32\x63\x31\x38\x2e\x31\x33\x36\x2c\
-\x30\x2c\x33\x32\x2d\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2d\x33\
-\x32\x0a\x09\x09\x09\x63\x30\x2d\x38\x2e\x35\x33\x31\x2d\x33\x2e\
-\x31\x39\x38\x2d\x31\x36\x2d\x38\x2e\x35\x33\x31\x2d\x32\x31\x2e\
-\x33\x33\x33\x63\x2d\x35\x2e\x33\x33\x33\x2d\x35\x2e\x33\x33\x34\
-\x2d\x38\x2e\x35\x33\x31\x2d\x31\x32\x2e\x38\x30\x33\x2d\x38\x2e\
-\x35\x33\x31\x2d\x32\x31\x2e\x33\x33\x34\x63\x30\x2d\x31\x38\x2e\
-\x31\x33\x35\x2c\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2c\x33\x32\
-\x2d\x33\x32\x68\x33\x38\x2e\x33\x39\x36\x0a\x09\x09\x09\x63\x35\
-\x38\x2e\x36\x36\x37\x2c\x30\x2c\x31\x30\x36\x2e\x36\x36\x37\x2d\
-\x34\x38\x2c\x31\x30\x36\x2e\x36\x36\x37\x2d\x31\x30\x36\x2e\x36\
-\x36\x36\x43\x34\x34\x38\x2c\x31\x34\x30\x2e\x38\x30\x32\x2c\x33\
-\x36\x31\x2e\x36\x30\x34\x2c\x36\x34\x2c\x32\x35\x36\x2c\x36\x34\
-\x7a\x20\x4d\x31\x33\x38\x2e\x36\x36\x37\x2c\x32\x35\x36\x63\x2d\
-\x31\x38\x2e\x31\x33\x36\x2c\x30\x2d\x33\x32\x2d\x31\x33\x2e\x38\
-\x36\x34\x2d\x33\x32\x2d\x33\x32\x73\x31\x33\x2e\x38\x36\x34\x2d\
-\x33\x32\x2c\x33\x32\x2d\x33\x32\x0a\x09\x09\x09\x63\x31\x38\x2e\
-\x31\x33\x35\x2c\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\
-\x33\x32\x2c\x33\x32\x53\x31\x35\x36\x2e\x38\x30\x32\x2c\x32\x35\
-\x36\x2c\x31\x33\x38\x2e\x36\x36\x37\x2c\x32\x35\x36\x7a\x20\x4d\
-\x32\x30\x32\x2e\x36\x36\x37\x2c\x31\x37\x30\x2e\x36\x36\x37\x63\
-\x2d\x31\x38\x2e\x31\x33\x36\x2c\x30\x2d\x33\x32\x2d\x31\x33\x2e\
-\x38\x36\x35\x2d\x33\x32\x2d\x33\x32\x63\x30\x2d\x31\x38\x2e\x31\
-\x33\x36\x2c\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2c\x33\x32\x2d\
-\x33\x32\x0a\x09\x09\x09\x63\x31\x38\x2e\x31\x33\x35\x2c\x30\x2c\
-\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2c\x33\x32\x43\
-\x32\x33\x34\x2e\x36\x36\x37\x2c\x31\x35\x36\x2e\x38\x30\x32\x2c\
-\x32\x32\x30\x2e\x38\x30\x32\x2c\x31\x37\x30\x2e\x36\x36\x37\x2c\
-\x32\x30\x32\x2e\x36\x36\x37\x2c\x31\x37\x30\x2e\x36\x36\x37\x7a\
-\x20\x4d\x33\x30\x39\x2e\x33\x33\x33\x2c\x31\x37\x30\x2e\x36\x36\
-\x37\x63\x2d\x31\x38\x2e\x31\x33\x35\x2c\x30\x2d\x33\x32\x2d\x31\
-\x33\x2e\x38\x36\x35\x2d\x33\x32\x2d\x33\x32\x0a\x09\x09\x09\x63\
-\x30\x2d\x31\x38\x2e\x31\x33\x36\x2c\x31\x33\x2e\x38\x36\x35\x2d\
-\x33\x32\x2c\x33\x32\x2d\x33\x32\x63\x31\x38\x2e\x31\x33\x36\x2c\
-\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2c\x33\
-\x32\x43\x33\x34\x31\x2e\x33\x33\x33\x2c\x31\x35\x36\x2e\x38\x30\
-\x32\x2c\x33\x32\x37\x2e\x34\x36\x39\x2c\x31\x37\x30\x2e\x36\x36\
-\x37\x2c\x33\x30\x39\x2e\x33\x33\x33\x2c\x31\x37\x30\x2e\x36\x36\
-\x37\x7a\x20\x4d\x33\x37\x33\x2e\x33\x33\x33\x2c\x32\x35\x36\x0a\
-\x09\x09\x09\x63\x2d\x31\x38\x2e\x31\x33\x35\x2c\x30\x2d\x33\x32\
-\x2d\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2d\x33\x32\x73\x31\x33\
-\x2e\x38\x36\x35\x2d\x33\x32\x2c\x33\x32\x2d\x33\x32\x63\x31\x38\
-\x2e\x31\x33\x36\x2c\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\
-\x2c\x33\x32\x2c\x33\x32\x53\x33\x39\x31\x2e\x34\x36\x39\x2c\x32\
-\x35\x36\x2c\x33\x37\x33\x2e\x33\x33\x33\x2c\x32\x35\x36\x7a\x22\
-\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
-\x73\x76\x67\x3e\x0a\
\x00\x00\x05\xbb\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -1626,7 +1285,7 @@ qt_resource_data = b"\
\x32\x2c\x34\x36\x35\x2e\x32\x36\x36\x2c\x32\x38\x38\x2e\x30\x38\
\x2c\x34\x35\x30\x2e\x36\x37\x39\x2c\x32\x37\x33\x2e\x35\x7a\x22\
\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\xab\
+\x00\x00\x02\x72\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1658,26 +1317,23 @@ qt_resource_data = b"\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x35\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x6f\
-\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x30\
-\x35\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x33\x37\x35\x2e\x32\x30\
-\x32\x2c\x31\x30\x37\x20\x32\x35\x36\x2c\x32\x32\x36\x2e\x32\x30\
-\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x31\x30\x37\x20\x31\x30\
-\x37\x2c\x31\x33\x36\x2e\x37\x39\x38\x20\x32\x32\x36\x2e\x32\x30\
-\x32\x2c\x32\x35\x36\x20\x31\x30\x37\x2c\x33\x37\x35\x2e\x32\x30\
-\x32\x20\x31\x33\x36\x2e\x37\x39\x38\x2c\x34\x30\x35\x20\x32\x35\
-\x36\x2c\x32\x38\x35\x2e\x37\x39\x38\x20\x0a\x09\x09\x09\x33\x37\
-\x35\x2e\x32\x30\x32\x2c\x34\x30\x35\x20\x34\x30\x35\x2c\x33\x37\
-\x35\x2e\x32\x30\x32\x20\x32\x38\x35\x2e\x37\x39\x38\x2c\x32\x35\
-\x36\x20\x09\x09\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x1b\
+\x5f\x38\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\
+\x74\x68\x20\x64\x3d\x22\x4d\x34\x32\x37\x2c\x32\x33\x34\x2e\x36\
+\x32\x35\x48\x31\x36\x37\x2e\x32\x39\x36\x6c\x31\x31\x39\x2e\x37\
+\x30\x32\x2d\x31\x31\x39\x2e\x37\x30\x32\x4c\x32\x35\x36\x2c\x38\
+\x35\x4c\x38\x35\x2c\x32\x35\x36\x6c\x31\x37\x31\x2c\x31\x37\x31\
+\x6c\x32\x39\x2e\x39\x32\x32\x2d\x32\x39\x2e\x39\x32\x34\x4c\x31\
+\x36\x37\x2e\x32\x39\x36\x2c\x32\x37\x37\x2e\x33\x37\x35\x48\x34\
+\x32\x37\x56\x32\x33\x34\x2e\x36\x32\x35\x7a\x22\x2f\x3e\x0a\x09\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x0a\
+\x00\x00\x04\x9c\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
@@ -1688,67 +1344,66 @@ qt_resource_data = b"\
\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x32\x35\x36\x2c\x33\x38\x38\x63\x2d\x37\x32\x2e\
-\x35\x39\x37\x2c\x30\x2d\x31\x33\x32\x2d\x35\x39\x2e\x34\x30\x35\
-\x2d\x31\x33\x32\x2d\x31\x33\x32\x63\x30\x2d\x37\x32\x2e\x36\x30\
-\x31\x2c\x35\x39\x2e\x34\x30\x33\x2d\x31\x33\x32\x2c\x31\x33\x32\
-\x2d\x31\x33\x32\x63\x33\x36\x2e\x33\x2c\x30\x2c\x36\x39\x2e\x32\
-\x39\x39\x2c\x31\x35\x2e\x34\x2c\x39\x32\x2e\x34\x30\x36\x2c\x33\
-\x39\x2e\x36\x30\x31\x4c\x32\x37\x38\x2c\x32\x33\x34\x68\x31\x35\
-\x34\x56\x38\x30\x0a\x09\x09\x6c\x2d\x35\x31\x2e\x36\x39\x38\x2c\
-\x35\x31\x2e\x37\x30\x32\x43\x33\x34\x38\x2e\x34\x30\x36\x2c\x39\
-\x39\x2e\x37\x39\x38\x2c\x33\x30\x34\x2e\x34\x30\x36\x2c\x38\x30\
-\x2c\x32\x35\x36\x2c\x38\x30\x63\x2d\x39\x36\x2e\x37\x39\x37\x2c\
-\x30\x2d\x31\x37\x36\x2c\x37\x39\x2e\x32\x30\x33\x2d\x31\x37\x36\
-\x2c\x31\x37\x36\x73\x37\x38\x2e\x30\x39\x34\x2c\x31\x37\x36\x2c\
-\x31\x37\x36\x2c\x31\x37\x36\x0a\x09\x09\x63\x38\x31\x2e\x30\x34\
-\x35\x2c\x30\x2c\x31\x34\x38\x2e\x32\x38\x37\x2d\x35\x34\x2e\x31\
-\x33\x34\x2c\x31\x36\x39\x2e\x34\x30\x31\x2d\x31\x32\x38\x48\x33\
-\x37\x38\x2e\x38\x35\x43\x33\x36\x30\x2e\x31\x30\x35\x2c\x33\x35\
-\x33\x2e\x35\x36\x31\x2c\x33\x31\x31\x2e\x37\x31\x32\x2c\x33\x38\
-\x38\x2c\x32\x35\x36\x2c\x33\x38\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x01\x69\
-\x3c\
-\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
-\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
-\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
-\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\
-\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x3c\x67\x20\x74\x72\x61\
-\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\
-\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x3c\
-\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x2e\x33\x34\x20\x31\x35\
-\x2e\x36\x36\x41\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\x30\x20\
-\x30\x20\x30\x20\x39\x20\x31\x37\x2e\x39\x34\x56\x31\x30\x48\x35\
-\x56\x38\x68\x34\x56\x35\x2e\x38\x33\x61\x33\x20\x33\x20\x30\x20\
-\x31\x20\x31\x20\x32\x20\x30\x56\x38\x68\x34\x76\x32\x68\x2d\x34\
-\x76\x37\x2e\x39\x34\x61\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\
-\x30\x20\x30\x20\x30\x20\x34\x2e\x36\x36\x2d\x32\x2e\x32\x38\x6c\
-\x2d\x31\x2e\x34\x32\x2d\x31\x2e\x34\x32\x68\x35\x2e\x36\x36\x6c\
-\x2d\x32\x2e\x38\x33\x20\x32\x2e\x38\x33\x61\x31\x30\x20\x31\x30\
-\x20\x30\x20\x30\x20\x31\x2d\x31\x34\x2e\x31\x34\x20\x30\x4c\x2e\
-\x31\x20\x31\x34\x2e\x32\x34\x68\x35\x2e\x36\x36\x6c\x2d\x31\x2e\
-\x34\x32\x20\x31\x2e\x34\x32\x7a\x4d\x31\x30\x20\x34\x61\x31\x20\
-\x31\x20\x30\x20\x31\x20\x30\x20\x30\x2d\x32\x20\x31\x20\x31\x20\
-\x30\x20\x30\x20\x30\x20\x30\x20\x32\x7a\x22\x2f\x3e\x3c\x2f\x67\
-\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\xc1\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x6f\x64\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
+\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
+\x6b\x22\x20\x78\x3d\x22\x32\x34\x70\x78\x22\x20\x79\x3d\x22\x32\
+\x34\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\
+\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\
+\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\
+\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\
+\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\
+\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\
+\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\
+\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x35\x2e\x37\x31\x39\x2c\x31\x34\x2e\x37\
+\x35\x63\x2d\x30\x2e\x32\x33\x36\x2c\x30\x2d\x30\x2e\x34\x37\x34\
+\x2d\x30\x2e\x30\x38\x33\x2d\x30\x2e\x36\x36\x34\x2d\x30\x2e\x32\
+\x35\x32\x4c\x2d\x30\x2e\x30\x30\x35\x2c\x31\x30\x6c\x35\x2e\x33\
+\x34\x31\x2d\x34\x2e\x37\x34\x38\x43\x35\x2e\x37\x34\x38\x2c\x34\
+\x2e\x38\x38\x37\x2c\x36\x2e\x33\x38\x2c\x34\x2e\x39\x32\x32\x2c\
+\x36\x2e\x37\x34\x37\x2c\x35\x2e\x33\x33\x35\x0a\x09\x63\x30\x2e\
+\x33\x36\x37\x2c\x30\x2e\x34\x31\x33\x2c\x30\x2e\x33\x33\x2c\x31\
+\x2e\x30\x34\x35\x2d\x30\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\
+\x4c\x33\x2e\x30\x30\x35\x2c\x31\x30\x6c\x33\x2e\x33\x37\x38\x2c\
+\x33\x2e\x30\x30\x32\x63\x30\x2e\x34\x31\x33\x2c\x30\x2e\x33\x36\
+\x37\x2c\x30\x2e\x34\x35\x2c\x30\x2e\x39\x39\x39\x2c\x30\x2e\x30\
+\x38\x33\x2c\x31\x2e\x34\x31\x32\x0a\x09\x43\x36\x2e\x32\x36\x39\
+\x2c\x31\x34\x2e\x36\x33\x37\x2c\x35\x2e\x39\x39\x34\x2c\x31\x34\
+\x2e\x37\x35\x2c\x35\x2e\x37\x31\x39\x2c\x31\x34\x2e\x37\x35\x7a\
+\x20\x4d\x31\x34\x2e\x36\x36\x34\x2c\x31\x34\x2e\x37\x34\x38\x4c\
+\x32\x30\x2e\x30\x30\x35\x2c\x31\x30\x6c\x2d\x35\x2e\x30\x36\x2d\
+\x34\x2e\x34\x39\x38\x63\x2d\x30\x2e\x34\x31\x33\x2d\x30\x2e\x33\
+\x36\x37\x2d\x31\x2e\x30\x34\x35\x2d\x30\x2e\x33\x33\x2d\x31\x2e\
+\x34\x31\x31\x2c\x30\x2e\x30\x38\x33\x0a\x09\x63\x2d\x30\x2e\x33\
+\x36\x37\x2c\x30\x2e\x34\x31\x33\x2d\x30\x2e\x33\x33\x2c\x31\x2e\
+\x30\x34\x35\x2c\x30\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\x4c\
+\x31\x36\x2e\x39\x39\x35\x2c\x31\x30\x6c\x2d\x33\x2e\x36\x35\x39\
+\x2c\x33\x2e\x32\x35\x32\x63\x2d\x30\x2e\x34\x31\x33\x2c\x30\x2e\
+\x33\x36\x37\x2d\x30\x2e\x34\x35\x2c\x30\x2e\x39\x39\x39\x2d\x30\
+\x2e\x30\x38\x33\x2c\x31\x2e\x34\x31\x32\x43\x31\x33\x2e\x34\x35\
+\x2c\x31\x34\x2e\x38\x38\x37\x2c\x31\x33\x2e\x37\x32\x35\x2c\x31\
+\x35\x2c\x31\x34\x2c\x31\x35\x0a\x09\x43\x31\x34\x2e\x32\x33\x36\
+\x2c\x31\x35\x2c\x31\x34\x2e\x34\x37\x34\x2c\x31\x34\x2e\x39\x31\
+\x37\x2c\x31\x34\x2e\x36\x36\x34\x2c\x31\x34\x2e\x37\x34\x38\x7a\
+\x20\x4d\x39\x2e\x39\x38\x36\x2c\x31\x36\x2e\x31\x36\x35\x6c\x32\
+\x2d\x31\x32\x63\x30\x2e\x30\x39\x31\x2d\x30\x2e\x35\x34\x35\x2d\
+\x30\x2e\x32\x37\x37\x2d\x31\x2e\x30\x36\x2d\x30\x2e\x38\x32\x32\
+\x2d\x31\x2e\x31\x35\x31\x0a\x09\x63\x2d\x30\x2e\x35\x34\x37\x2d\
+\x30\x2e\x30\x39\x32\x2d\x31\x2e\x30\x36\x31\x2c\x30\x2e\x32\x37\
+\x37\x2d\x31\x2e\x31\x35\x2c\x30\x2e\x38\x32\x32\x6c\x2d\x32\x2c\
+\x31\x32\x63\x2d\x30\x2e\x30\x39\x31\x2c\x30\x2e\x35\x34\x35\x2c\
+\x30\x2e\x32\x37\x37\x2c\x31\x2e\x30\x36\x2c\x30\x2e\x38\x32\x32\
+\x2c\x31\x2e\x31\x35\x31\x43\x38\x2e\x38\x39\x32\x2c\x31\x36\x2e\
+\x39\x39\x36\x2c\x38\x2e\x39\x34\x36\x2c\x31\x37\x2c\x39\x2e\x30\
+\x30\x31\x2c\x31\x37\x0a\x09\x43\x39\x2e\x34\x38\x31\x2c\x31\x37\
+\x2c\x39\x2e\x39\x30\x35\x2c\x31\x36\x2e\x36\x35\x33\x2c\x39\x2e\
+\x39\x38\x36\x2c\x31\x36\x2e\x31\x36\x35\x7a\x22\x2f\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x05\x16\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -1775,101 +1430,70 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
-\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
-\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
-\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
-\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x6f\x6c\
-\x79\x67\x6f\x6e\x20\x70\x6f\x69\x6e\x74\x73\x3d\x22\x34\x38\x30\
-\x2c\x32\x35\x36\x20\x33\x38\x34\x2c\x31\x36\x30\x20\x33\x38\x34\
-\x2c\x32\x33\x36\x20\x32\x37\x36\x2c\x32\x33\x36\x20\x32\x37\x36\
-\x2c\x31\x32\x38\x20\x33\x35\x32\x2c\x31\x32\x38\x20\x32\x35\x36\
-\x2c\x33\x32\x20\x31\x36\x30\x2c\x31\x32\x38\x20\x32\x33\x36\x2c\
-\x31\x32\x38\x20\x32\x33\x36\x2c\x32\x33\x36\x20\x31\x32\x38\x2c\
-\x32\x33\x36\x20\x31\x32\x38\x2c\x31\x36\x30\x20\x33\x32\x2c\x32\
-\x35\x36\x20\x31\x32\x38\x2c\x33\x35\x32\x20\x0a\x09\x31\x32\x38\
-\x2c\x32\x37\x36\x20\x32\x33\x36\x2c\x32\x37\x36\x20\x32\x33\x36\
-\x2c\x33\x38\x34\x20\x31\x36\x30\x2c\x33\x38\x34\x20\x32\x35\x36\
-\x2c\x34\x38\x30\x20\x33\x35\x32\x2c\x33\x38\x34\x20\x32\x37\x35\
-\x2e\x38\x2c\x33\x38\x34\x20\x32\x37\x35\x2e\x34\x2c\x32\x37\x35\
-\x2e\x35\x20\x33\x38\x34\x2c\x32\x37\x35\x2e\x38\x20\x33\x38\x34\
-\x2c\x33\x35\x32\x20\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\
-\x00\x00\x02\x1c\
-\x00\
-\x00\x07\x5c\x78\x9c\xdd\x55\x4d\x73\x9b\x30\x10\xbd\xf7\x57\x6c\
-\xa7\x07\x25\x07\x84\xbe\x10\x28\x13\x92\x99\x7a\xa6\xa7\xf4\x96\
-\x5c\x7a\xc3\x41\x80\x1a\x0c\x1e\xa0\xc6\xfd\xf7\x95\x6d\x49\x76\
-\x69\x33\xbd\xe4\xd0\x89\x0f\x98\xf7\x56\x6f\xd9\xb7\xcb\x0e\xb7\
-\xf7\xfb\x4d\x0b\x3b\x3d\x8c\xa6\xef\x72\x44\x31\x41\xa0\xbb\xe7\
-\xbe\x34\x5d\x9d\xa3\xa7\xc7\x2f\x51\x86\xee\xef\x3e\xdc\x7e\x8c\
-\x22\x78\x6c\xcc\x08\x95\x69\x35\xcc\xc5\x08\xb5\xee\xf4\x50\x4c\
-\xba\x84\xf5\x4f\x28\x77\x66\xdc\xd5\x1b\x60\x98\x52\x4c\x21\x8a\
-\xac\xc4\x12\x97\x89\x29\x02\xfb\xa8\x6e\xcc\x51\x33\x4d\xdb\x9b\
-\x38\x9e\xe7\x19\xcf\x1c\xf7\x43\x1d\x33\x42\x48\x6c\xcf\xbb\x23\
-\x37\xfb\xd6\x74\x2f\x7f\x3b\x48\x95\x52\xf1\x31\x8a\x60\x36\xe5\
-\xd4\xe4\x48\x72\x6c\x49\xb9\x9d\x10\x34\xda\xd4\xcd\x64\x29\x71\
-\x40\x3b\xa3\xe7\xcf\xfd\x3e\x47\x89\xc4\x82\x28\x01\x94\xa6\x38\
-\x4b\x32\x70\x0a\x90\x02\xd9\x32\x6b\x30\x65\x8e\xb6\x45\xad\xe9\
-\x09\x4e\x43\xd1\x8d\x55\x3f\x6c\x72\x74\xbc\x6d\xad\xc9\xab\x45\
-\x8e\xeb\xf1\xb9\x68\xf5\x95\xcd\x23\x99\x14\xd7\x07\xe1\xb6\x98\
-\x1a\xb0\x99\xbe\x82\xc2\x5c\xa4\x82\x81\x60\x38\x15\x29\x7b\x08\
-\x44\x22\x70\xa6\x98\xfc\x83\x58\x2d\x89\x7f\xe1\x0b\x81\xc2\x24\
-\x13\x0a\xa8\xc2\x89\xe0\x14\x24\xc3\x22\xe3\x02\xb8\x9d\x04\xf3\
-\x68\x05\x42\x60\xa9\xa4\x0a\x61\x9f\xd7\xcb\x03\xf6\x15\xbe\x4a\
-\x04\x53\x9e\xe0\x04\x4b\x42\xb3\x55\x20\xd8\xb1\x55\x49\x78\x26\
-\xe3\x98\x50\xea\x2a\x3a\x81\x55\xa8\xd7\x05\xbd\x1d\xaf\xf5\xd8\
-\x25\x7f\x58\xf6\xf4\x1b\x3a\xbc\x88\x6d\x8e\x3e\xad\xab\x75\x55\
-\x55\x28\xb6\x13\x88\xeb\xb7\x99\x5f\x30\x22\x70\xc2\x14\xbd\x70\
-\x46\x30\xe7\x32\x0b\xce\xa8\xc4\x8a\x67\xdc\x59\x73\xe8\xec\xcd\
-\x87\x83\x39\x27\x0f\xd8\xe7\x0f\x44\x86\x53\x46\x93\x90\xe0\x94\
-\xf7\xe2\x7a\x1e\xe4\x89\x0c\x85\x39\xe1\xa2\xf2\xd0\xa5\xae\xef\
-\x34\x82\x71\x1a\xfa\x17\x6d\x7b\x46\x8e\x3f\x4f\x44\x76\x9d\xf4\
-\x73\xb1\xcd\xd1\xd0\xff\xe8\xca\xdf\xe8\xef\xbd\xe9\x96\xfc\xc6\
-\x4c\x7a\x68\x8d\xfd\xb3\x6b\x4d\x30\xe1\x69\x12\x62\x6e\x27\x39\
-\x4e\x28\xa7\xec\x4d\xa7\xb2\xe8\xda\xfb\xda\x2a\x67\xea\x3d\xcd\
-\xeb\xd5\x2d\xb2\x5f\x08\x95\x30\x76\xde\x22\x9c\x26\x32\x91\x7e\
-\x8b\x4e\xe8\x62\x8b\x5c\xd8\xcf\xc6\xcb\x17\xef\xc3\x7f\xd3\xba\
-\xd3\xc5\x7e\xcc\xee\x7e\x01\xb3\x30\xdb\xa9\
-\x00\x00\x01\xd8\
-\x00\
-\x00\x06\xc4\x78\x9c\xcd\x54\x4d\x6f\x9b\x40\x10\x3d\xe3\x5f\x31\
-\xdd\x5b\x25\xf6\x0b\x62\x62\x53\xe3\xa8\xfe\x90\x65\x29\x6d\x2d\
-\x35\x75\xd5\x53\x85\x61\x0b\x28\x14\x10\x2c\x60\xe7\xd7\x77\x77\
-\xed\x54\xa9\x14\x5f\x43\x0f\x3b\xab\x9d\x79\xf3\xe6\x0d\x4f\x62\
-\x76\x77\xfc\x9d\x43\x27\xea\x26\x2b\x8b\x00\x71\xc2\x10\x88\x22\
-\x2a\xe3\xac\x48\x02\xd4\xca\x5f\x78\x82\xee\xe6\xa3\xd9\x3b\x8c\
-\x61\x23\x0a\x51\x87\xb2\xac\x7d\xf8\x18\x97\x07\x01\xdb\x3c\x6f\
-\x1b\x69\x52\xc0\x3d\xe2\x10\x6e\xc3\xd7\xfd\x06\xd6\xc7\xaa\xac\
-\x25\xec\xf2\x36\xc1\xdb\x02\x88\x49\xee\xcf\x33\x7c\xf0\x08\x63\
-\xb0\x68\xb3\x3c\x06\xf6\x1e\x00\x63\x4d\xbf\xfa\xb2\x7c\xf8\xb1\
-\x5b\x43\xd3\x25\xb0\xfb\xb6\xb8\xdf\x2e\x01\x61\x4a\xbf\xbb\x4b\
-\x4a\x57\x0f\x2b\xc3\xc0\x09\xa7\x74\xfd\x19\x01\x4a\xa5\xac\x7c\
-\x4a\xfb\xbe\x27\xbd\x4b\xca\x3a\xa1\x9b\x3a\xac\xd2\x2c\x6a\xa8\
-\x02\x52\x0d\x54\x4d\x54\x91\x71\x4e\x62\x19\x23\x35\x42\x33\xbf\
-\xd8\x93\x23\xc8\xe2\x00\xdd\x87\x27\x51\xff\x54\x0f\xf5\x19\x8a\
-\x26\x78\x85\xd9\x61\x8c\x69\xa6\x0b\xc4\x3f\xe6\x59\xf1\xf8\x1a\
-\x90\x4f\xa7\x53\x6a\xaa\x0a\x1a\x20\x56\x1d\x11\x9c\xce\xf7\xc8\
-\x82\x3e\x8b\x65\x1a\xa0\x31\x77\x74\x3e\x15\x59\x92\xca\xbf\xcf\
-\x2e\x13\xfd\xa2\xd4\x4d\xc0\x40\xe5\xf4\x41\xd0\xc8\x53\x2e\x02\
-\x24\x8a\xf0\x90\x0b\x7c\x08\xa3\xc7\xa4\x2e\xdb\x22\xf6\x0b\xd1\
-\xc3\x0b\xe4\x07\x23\xcd\x6f\xaa\x30\x52\xf0\xaa\x16\x8d\xa8\x3b\
-\xa1\x77\x4e\xe6\x23\xcb\x04\x6b\x56\x85\x32\x05\xb5\xf0\x27\xee\
-\x31\x9b\x8f\x5d\xe2\x46\xcc\x76\xc9\x2d\x76\x6d\x4f\x45\x75\xf4\
-\x9d\xe2\x31\x23\xe3\x08\xab\x82\xcd\x74\x12\xbb\xf8\x52\xee\xce\
-\x25\x66\x6a\xee\x73\x83\xbe\x53\x53\x30\x2d\x3a\x65\x1b\x46\x7d\
-\xf6\x66\xce\x93\x5a\xdf\xb2\xe8\xbf\x2a\x9c\xc9\xe4\x3f\x50\x71\
-\xc3\xbd\xa1\x54\xcc\xe8\x35\x73\x9c\x09\x7f\x13\x41\x66\xce\x55\
-\x73\x86\x57\xa1\xcd\x19\x48\xc5\x75\x73\x6e\xd8\xf4\x4d\x04\x99\
-\x39\x57\xcd\x19\x5e\x85\x36\x67\x20\x15\xc6\x9c\x4b\x50\xff\xe5\
-\xf9\xe8\x0f\x44\x1a\x94\x79\
-\x00\x00\x02\x98\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x31\x32\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x36\x34\x43\x31\
+\x35\x30\x2e\x34\x30\x31\x2c\x36\x34\x2c\x36\x34\x2c\x31\x35\x30\
+\x2e\x34\x30\x31\x2c\x36\x34\x2c\x32\x35\x36\x63\x30\x2c\x31\x30\
+\x35\x2e\x36\x30\x34\x2c\x38\x36\x2e\x34\x30\x31\x2c\x31\x39\x32\
+\x2c\x31\x39\x32\x2c\x31\x39\x32\x63\x31\x38\x2e\x31\x33\x36\x2c\
+\x30\x2c\x33\x32\x2d\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2d\x33\
+\x32\x0a\x09\x09\x09\x63\x30\x2d\x38\x2e\x35\x33\x31\x2d\x33\x2e\
+\x31\x39\x38\x2d\x31\x36\x2d\x38\x2e\x35\x33\x31\x2d\x32\x31\x2e\
+\x33\x33\x33\x63\x2d\x35\x2e\x33\x33\x33\x2d\x35\x2e\x33\x33\x34\
+\x2d\x38\x2e\x35\x33\x31\x2d\x31\x32\x2e\x38\x30\x33\x2d\x38\x2e\
+\x35\x33\x31\x2d\x32\x31\x2e\x33\x33\x34\x63\x30\x2d\x31\x38\x2e\
+\x31\x33\x35\x2c\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2c\x33\x32\
+\x2d\x33\x32\x68\x33\x38\x2e\x33\x39\x36\x0a\x09\x09\x09\x63\x35\
+\x38\x2e\x36\x36\x37\x2c\x30\x2c\x31\x30\x36\x2e\x36\x36\x37\x2d\
+\x34\x38\x2c\x31\x30\x36\x2e\x36\x36\x37\x2d\x31\x30\x36\x2e\x36\
+\x36\x36\x43\x34\x34\x38\x2c\x31\x34\x30\x2e\x38\x30\x32\x2c\x33\
+\x36\x31\x2e\x36\x30\x34\x2c\x36\x34\x2c\x32\x35\x36\x2c\x36\x34\
+\x7a\x20\x4d\x31\x33\x38\x2e\x36\x36\x37\x2c\x32\x35\x36\x63\x2d\
+\x31\x38\x2e\x31\x33\x36\x2c\x30\x2d\x33\x32\x2d\x31\x33\x2e\x38\
+\x36\x34\x2d\x33\x32\x2d\x33\x32\x73\x31\x33\x2e\x38\x36\x34\x2d\
+\x33\x32\x2c\x33\x32\x2d\x33\x32\x0a\x09\x09\x09\x63\x31\x38\x2e\
+\x31\x33\x35\x2c\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\
+\x33\x32\x2c\x33\x32\x53\x31\x35\x36\x2e\x38\x30\x32\x2c\x32\x35\
+\x36\x2c\x31\x33\x38\x2e\x36\x36\x37\x2c\x32\x35\x36\x7a\x20\x4d\
+\x32\x30\x32\x2e\x36\x36\x37\x2c\x31\x37\x30\x2e\x36\x36\x37\x63\
+\x2d\x31\x38\x2e\x31\x33\x36\x2c\x30\x2d\x33\x32\x2d\x31\x33\x2e\
+\x38\x36\x35\x2d\x33\x32\x2d\x33\x32\x63\x30\x2d\x31\x38\x2e\x31\
+\x33\x36\x2c\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2c\x33\x32\x2d\
+\x33\x32\x0a\x09\x09\x09\x63\x31\x38\x2e\x31\x33\x35\x2c\x30\x2c\
+\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2c\x33\x32\x43\
+\x32\x33\x34\x2e\x36\x36\x37\x2c\x31\x35\x36\x2e\x38\x30\x32\x2c\
+\x32\x32\x30\x2e\x38\x30\x32\x2c\x31\x37\x30\x2e\x36\x36\x37\x2c\
+\x32\x30\x32\x2e\x36\x36\x37\x2c\x31\x37\x30\x2e\x36\x36\x37\x7a\
+\x20\x4d\x33\x30\x39\x2e\x33\x33\x33\x2c\x31\x37\x30\x2e\x36\x36\
+\x37\x63\x2d\x31\x38\x2e\x31\x33\x35\x2c\x30\x2d\x33\x32\x2d\x31\
+\x33\x2e\x38\x36\x35\x2d\x33\x32\x2d\x33\x32\x0a\x09\x09\x09\x63\
+\x30\x2d\x31\x38\x2e\x31\x33\x36\x2c\x31\x33\x2e\x38\x36\x35\x2d\
+\x33\x32\x2c\x33\x32\x2d\x33\x32\x63\x31\x38\x2e\x31\x33\x36\x2c\
+\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\x2c\x33\x32\x2c\x33\
+\x32\x43\x33\x34\x31\x2e\x33\x33\x33\x2c\x31\x35\x36\x2e\x38\x30\
+\x32\x2c\x33\x32\x37\x2e\x34\x36\x39\x2c\x31\x37\x30\x2e\x36\x36\
+\x37\x2c\x33\x30\x39\x2e\x33\x33\x33\x2c\x31\x37\x30\x2e\x36\x36\
+\x37\x7a\x20\x4d\x33\x37\x33\x2e\x33\x33\x33\x2c\x32\x35\x36\x0a\
+\x09\x09\x09\x63\x2d\x31\x38\x2e\x31\x33\x35\x2c\x30\x2d\x33\x32\
+\x2d\x31\x33\x2e\x38\x36\x34\x2d\x33\x32\x2d\x33\x32\x73\x31\x33\
+\x2e\x38\x36\x35\x2d\x33\x32\x2c\x33\x32\x2d\x33\x32\x63\x31\x38\
+\x2e\x31\x33\x36\x2c\x30\x2c\x33\x32\x2c\x31\x33\x2e\x38\x36\x34\
+\x2c\x33\x32\x2c\x33\x32\x53\x33\x39\x31\x2e\x34\x36\x39\x2c\x32\
+\x35\x36\x2c\x33\x37\x33\x2e\x33\x33\x33\x2c\x32\x35\x36\x7a\x22\
+\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
+\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xd9\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
@@ -1880,34 +1504,193 @@ qt_resource_data = b"\
\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x31\x32\x38\x2c\x34\x30\x35\x2e\x34\x32\x39\x43\
-\x31\x32\x38\x2c\x34\x32\x38\x2e\x38\x34\x36\x2c\x31\x34\x37\x2e\
-\x31\x39\x38\x2c\x34\x34\x38\x2c\x31\x37\x30\x2e\x36\x36\x37\x2c\
-\x34\x34\x38\x68\x31\x37\x30\x2e\x36\x36\x37\x43\x33\x36\x34\x2e\
-\x38\x30\x32\x2c\x34\x34\x38\x2c\x33\x38\x34\x2c\x34\x32\x38\x2e\
-\x38\x34\x36\x2c\x33\x38\x34\x2c\x34\x30\x35\x2e\x34\x32\x39\x56\
-\x31\x36\x30\x48\x31\x32\x38\x56\x34\x30\x35\x2e\x34\x32\x39\x7a\
-\x20\x4d\x34\x31\x36\x2c\x39\x36\x0a\x09\x09\x68\x2d\x38\x30\x6c\
-\x2d\x32\x36\x2e\x37\x38\x35\x2d\x33\x32\x48\x32\x30\x32\x2e\x37\
-\x38\x36\x4c\x31\x37\x36\x2c\x39\x36\x48\x39\x36\x76\x33\x32\x68\
-\x33\x32\x30\x56\x39\x36\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
-\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\x5a\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x72\
+\x69\x67\x68\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
+\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
+\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
+\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
+\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
+\x6e\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
+\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\
+\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\
+\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\
+\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\
+\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\
+\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\
+\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x31\x31\x2c\x31\x30\x4c\x38\x2e\x36\x39\
+\x38\x2c\x37\x2e\x34\x39\x34\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\
+\x2e\x31\x39\x38\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x39\
+\x2c\x30\x2d\x30\x2e\x37\x31\x38\x63\x30\x2e\x31\x39\x36\x2d\x30\
+\x2e\x31\x39\x37\x2c\x30\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\
+\x2c\x30\x2e\x37\x31\x2c\x30\x6c\x32\x2e\x38\x30\x37\x2c\x32\x2e\
+\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\
+\x39\x2c\x30\x2e\x31\x39\x36\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\
+\x2e\x37\x31\x37\x6c\x2d\x32\x2e\x38\x30\x37\x2c\x32\x2e\x38\x36\
+\x34\x63\x2d\x30\x2e\x31\x39\x35\x2c\x30\x2e\x31\x39\x39\x2d\x30\
+\x2e\x35\x31\x34\x2c\x30\x2e\x31\x39\x38\x2d\x30\x2e\x37\x31\x2c\
+\x30\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
+\x2e\x31\x39\x36\x2d\x30\x2e\x35\x31\x38\x2c\x30\x2d\x30\x2e\x37\
+\x31\x37\x4c\x31\x31\x2c\x31\x30\x7a\x20\x4d\x31\x30\x2c\x30\x2e\
+\x34\x0a\x09\x63\x35\x2e\x33\x30\x32\x2c\x30\x2c\x39\x2e\x36\x2c\
+\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\
+\x35\x2e\x33\x30\x33\x2d\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2d\
+\x39\x2e\x36\x2c\x39\x2e\x36\x53\x30\x2e\x34\x2c\x31\x35\x2e\x33\
+\x30\x33\x2c\x30\x2e\x34\x2c\x31\x30\x43\x30\x2e\x34\x2c\x34\x2e\
+\x36\x39\x38\x2c\x34\x2e\x36\x39\x38\x2c\x30\x2e\x34\x2c\x31\x30\
+\x2c\x30\x2e\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\
+\x0a\x09\x63\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\
+\x2d\x33\x2e\x37\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
+\x34\x63\x30\x2d\x34\x2e\x36\x31\x34\x2d\x33\x2e\x37\x34\x31\x2d\
+\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\
+\x34\x63\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\
+\x2c\x33\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\
+\x34\x0a\x09\x43\x31\x2e\x36\x34\x35\x2c\x31\x34\x2e\x36\x31\x34\
+\x2c\x35\x2e\x33\x38\x35\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\
+\x2c\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x42\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
+\x2d\x38\x38\x35\x39\x2d\x31\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\
+\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\
+\x20\x49\x6c\x6c\x75\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\
+\x30\x2e\x30\x2c\x20\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\
+\x50\x6c\x75\x67\x2d\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\
+\x72\x73\x69\x6f\x6e\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\
+\x64\x20\x30\x29\x20\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\
+\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\
+\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
+\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
+\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
+\x79\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x22\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\x20\x34\
+\x32\x33\x2e\x37\x35\x34\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x65\
+\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
+\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
+\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
+\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x30\x37\x2e\x35\
+\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x6c\x2d\x32\x37\x2e\x37\
+\x31\x37\x2c\x31\x31\x2e\x34\x38\x63\x31\x38\x2e\x35\x38\x35\x2c\
+\x34\x34\x2e\x38\x36\x39\x2c\x31\x38\x2e\x35\x38\x35\x2c\x39\x34\
+\x2e\x32\x39\x31\x2c\x30\x2c\x31\x33\x39\x2e\x31\x35\x39\x63\x2d\
+\x31\x38\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\
+\x2e\x35\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\
+\x2c\x39\x38\x2e\x34\x0a\x09\x63\x2d\x32\x32\x2e\x34\x33\x38\x2c\
+\x39\x2e\x32\x39\x33\x2d\x34\x36\x2e\x30\x30\x34\x2c\x31\x33\x2e\
+\x39\x34\x2d\x36\x39\x2e\x35\x37\x39\x2c\x31\x33\x2e\x39\x33\x39\
+\x63\x2d\x32\x33\x2e\x35\x36\x39\x2d\x30\x2e\x30\x30\x31\x2d\x34\
+\x37\x2e\x31\x34\x37\x2d\x34\x2e\x36\x34\x37\x2d\x36\x39\x2e\x35\
+\x37\x39\x2d\x31\x33\x2e\x39\x33\x39\x63\x2d\x34\x34\x2e\x38\x36\
+\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\x2d\
+\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\x34\
+\x0a\x09\x43\x31\x33\x2e\x35\x30\x37\x2c\x32\x30\x30\x2e\x36\x34\
+\x37\x2c\x33\x34\x2e\x37\x35\x38\x2c\x31\x31\x38\x2e\x37\x31\x2c\
+\x39\x30\x2e\x37\x35\x38\x2c\x36\x38\x2e\x36\x34\x34\x6c\x36\x30\
+\x2e\x38\x30\x31\x2c\x36\x30\x2e\x38\x30\x31\x56\x37\x2e\x35\x32\
+\x31\x48\x32\x39\x2e\x36\x33\x35\x4c\x36\x39\x2e\x35\x31\x34\x2c\
+\x34\x37\x2e\x34\x43\x35\x2e\x32\x32\x32\x2c\x31\x30\x35\x2e\x38\
+\x32\x36\x2d\x31\x38\x2e\x39\x38\x35\x2c\x32\x30\x30\x2e\x36\x2c\
+\x31\x36\x2e\x31\x32\x33\x2c\x32\x38\x35\x2e\x33\x35\x39\x0a\x09\
+\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
+\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
+\x2e\x36\x33\x36\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
+\x31\x33\x37\x2c\x31\x30\x2e\x38\x32\x36\x2c\x35\x33\x2e\x35\x39\
+\x39\x2c\x31\x36\x2e\x32\x33\x39\x2c\x38\x31\x2e\x30\x36\x31\x2c\
+\x31\x36\x2e\x32\x33\x39\x73\x35\x34\x2e\x39\x32\x34\x2d\x35\x2e\
+\x34\x31\x33\x2c\x38\x31\x2e\x30\x36\x2d\x31\x36\x2e\x32\x33\x39\
+\x0a\x09\x63\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x32\
+\x2c\x39\x32\x2e\x39\x38\x34\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\
+\x31\x34\x2e\x36\x33\x37\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\
+\x32\x39\x2e\x31\x36\x37\x2c\x32\x33\x33\x2e\x30\x38\x37\x2c\x34\
+\x32\x39\x2e\x31\x36\x37\x2c\x31\x37\x35\x2e\x35\x31\x31\x2c\x34\
+\x30\x37\x2e\x35\x31\x36\x2c\x31\x32\x33\x2e\x32\x33\x39\x7a\x22\
+\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
+\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x0a\
+\x00\x00\x04\x17\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x69\x73\x6f\
+\x2d\x38\x38\x35\x39\x2d\x31\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\
+\x47\x65\x6e\x65\x72\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\
+\x20\x49\x6c\x6c\x75\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x39\x2e\
+\x30\x2e\x30\x2c\x20\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\
+\x50\x6c\x75\x67\x2d\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\
+\x72\x73\x69\x6f\x6e\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\
+\x64\x20\x30\x29\x20\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\
+\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\
+\x22\x4c\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\
+\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\
+\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\
+\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\
+\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\
+\x2f\x78\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\
+\x79\x3d\x22\x30\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x22\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\x20\x34\
+\x32\x33\x2e\x37\x35\x34\x22\x20\x73\x74\x79\x6c\x65\x3d\x22\x65\
+\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
+\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x34\x32\x33\x2e\x37\x35\x34\
+\x20\x34\x32\x33\x2e\x37\x35\x34\x3b\x22\x20\x78\x6d\x6c\x3a\x73\
+\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\
+\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x33\x35\x34\x2e\x32\
+\x34\x2c\x34\x37\x2e\x34\x6c\x33\x39\x2e\x38\x37\x39\x2d\x33\x39\
+\x2e\x38\x37\x39\x48\x32\x37\x32\x2e\x31\x39\x36\x76\x31\x32\x31\
+\x2e\x39\x32\x34\x6c\x36\x30\x2e\x38\x30\x31\x2d\x36\x30\x2e\x38\
+\x30\x31\x63\x35\x36\x2c\x35\x30\x2e\x30\x36\x36\x2c\x37\x37\x2e\
+\x32\x35\x31\x2c\x31\x33\x32\x2e\x30\x30\x34\x2c\x34\x36\x2e\x39\
+\x31\x38\x2c\x32\x30\x35\x2e\x32\x33\x35\x0a\x09\x63\x2d\x31\x38\
+\x2e\x35\x38\x35\x2c\x34\x34\x2e\x38\x36\x39\x2d\x35\x33\x2e\x35\
+\x33\x31\x2c\x37\x39\x2e\x38\x31\x35\x2d\x39\x38\x2e\x34\x2c\x39\
+\x38\x2e\x34\x63\x2d\x34\x34\x2e\x38\x36\x36\x2c\x31\x38\x2e\x35\
+\x38\x35\x2d\x39\x34\x2e\x32\x38\x38\x2c\x31\x38\x2e\x35\x38\x35\
+\x2d\x31\x33\x39\x2e\x31\x35\x38\x2c\x30\x63\x2d\x34\x34\x2e\x38\
+\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x37\x39\x2e\x38\x31\x35\
+\x2d\x35\x33\x2e\x35\x33\x31\x2d\x39\x38\x2e\x34\x2d\x39\x38\x2e\
+\x34\x0a\x09\x63\x2d\x31\x38\x2e\x35\x38\x35\x2d\x34\x34\x2e\x38\
+\x36\x39\x2d\x31\x38\x2e\x35\x38\x35\x2d\x39\x34\x2e\x32\x39\x2c\
+\x30\x2d\x31\x33\x39\x2e\x31\x35\x39\x6c\x2d\x32\x37\x2e\x37\x31\
+\x37\x2d\x31\x31\x2e\x34\x38\x63\x2d\x32\x31\x2e\x36\x35\x31\x2c\
+\x35\x32\x2e\x32\x37\x32\x2d\x32\x31\x2e\x36\x35\x31\x2c\x31\x30\
+\x39\x2e\x38\x34\x38\x2c\x30\x2c\x31\x36\x32\x2e\x31\x32\x0a\x09\
+\x63\x32\x31\x2e\x36\x35\x32\x2c\x35\x32\x2e\x32\x37\x32\x2c\x36\
+\x32\x2e\x33\x36\x34\x2c\x39\x32\x2e\x39\x38\x34\x2c\x31\x31\x34\
+\x2e\x36\x33\x37\x2c\x31\x31\x34\x2e\x36\x33\x36\x63\x32\x36\x2e\
+\x31\x34\x2c\x31\x30\x2e\x38\x32\x37\x2c\x35\x33\x2e\x35\x39\x35\
+\x2c\x31\x36\x2e\x32\x34\x2c\x38\x31\x2e\x30\x36\x2c\x31\x36\x2e\
+\x32\x33\x39\x63\x32\x37\x2e\x34\x35\x39\x2d\x30\x2e\x30\x30\x31\
+\x2c\x35\x34\x2e\x39\x32\x37\x2d\x35\x2e\x34\x31\x34\x2c\x38\x31\
+\x2e\x30\x36\x31\x2d\x31\x36\x2e\x32\x33\x39\x0a\x09\x63\x35\x32\
+\x2e\x32\x37\x31\x2d\x32\x31\x2e\x36\x35\x32\x2c\x39\x32\x2e\x39\
+\x38\x33\x2d\x36\x32\x2e\x33\x36\x34\x2c\x31\x31\x34\x2e\x36\x33\
+\x36\x2d\x31\x31\x34\x2e\x36\x33\x36\x43\x34\x34\x32\x2e\x37\x33\
+\x39\x2c\x32\x30\x30\x2e\x36\x2c\x34\x31\x38\x2e\x35\x33\x32\x2c\
+\x31\x30\x35\x2e\x38\x32\x36\x2c\x33\x35\x34\x2e\x32\x34\x2c\x34\
+\x37\x2e\x34\x7a\x22\x2f\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\
+\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\
+\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\
+\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\
+\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\
+\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x73\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
@@ -1921,104 +1704,66 @@ qt_resource_data = b"\
\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
-\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
-\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x36\x32\x2e\x32\x33\
-\x32\x35\x4c\x20\x36\x32\x2e\x32\x33\x32\x35\x20\x32\x2e\x30\x30\
-\x37\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x32\x2e\x30\x30\x37\
-\x35\x4c\x20\x32\x2e\x30\x30\x37\x35\x20\x36\x32\x2e\x32\x33\x32\
-\x35\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
+\x20\x36\x2e\x32\x32\x30\x37\x32\x20\x32\x34\x2e\x39\x36\x35\x35\
+\x20\x39\x2e\x30\x34\x39\x38\x39\x20\x31\x38\x2e\x31\x33\x35\x33\
+\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
+\x43\x20\x32\x39\x2e\x35\x30\x36\x32\x20\x2d\x33\x2e\x34\x38\x36\
+\x38\x36\x20\x35\x35\x2e\x33\x36\x37\x33\x20\x32\x2e\x36\x39\x39\
+\x35\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
+\x38\x43\x20\x35\x39\x2e\x36\x39\x32\x32\x20\x33\x31\x2e\x35\x38\
+\x38\x31\x20\x35\x32\x2e\x36\x35\x30\x38\x20\x34\x30\x2e\x36\x37\
+\x37\x39\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
+\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x34\x2e\x30\x31\x35\x27\
-\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\
-\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\
-\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\
-\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\
-\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x34\x37\x2e\x31\
-\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x43\x20\x34\x37\x2e\x31\x37\
-\x36\x32\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x34\x30\x2e\x34\x33\
-\x35\x33\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x33\x32\x2e\x31\x32\
-\x20\x31\x37\x2e\x30\x36\x33\x37\x43\x20\x32\x33\x2e\x38\x30\x34\
-\x37\x20\x31\x37\x2e\x30\x36\x33\x37\x20\x31\x37\x2e\x30\x36\x33\
-\x37\x20\x32\x33\x2e\x38\x30\x34\x37\x20\x31\x37\x2e\x30\x36\x33\
-\x37\x20\x33\x32\x2e\x31\x32\x43\x20\x31\x37\x2e\x30\x36\x33\x37\
-\x20\x34\x30\x2e\x34\x33\x35\x33\x20\x32\x33\x2e\x38\x30\x34\x37\
-\x20\x34\x37\x2e\x31\x37\x36\x32\x20\x33\x32\x2e\x31\x32\x20\x34\
-\x37\x2e\x31\x37\x36\x32\x43\x20\x34\x30\x2e\x34\x33\x35\x33\x20\
-\x34\x37\x2e\x31\x37\x36\x32\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
-\x34\x30\x2e\x34\x33\x35\x33\x20\x34\x37\x2e\x31\x37\x36\x32\x20\
-\x33\x32\x2e\x31\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x30\
-\x30\x30\x30\x30\x30\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
-\x00\x00\x03\x5f\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
-\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
-\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
-\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
-\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
-\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
-\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
-\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
-\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
-\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x0a\x09\x09\x3c\x72\x65\
-\x63\x74\x20\x78\x3d\x22\x31\x37\x38\x2e\x38\x34\x36\x22\x20\x79\
-\x3d\x22\x39\x32\x2e\x30\x38\x37\x22\x20\x74\x72\x61\x6e\x73\x66\
-\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x2d\x30\x2e\x37\
-\x30\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x30\x2e\x37\x30\
-\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x32\x32\x34\x2e\x33\
-\x34\x37\x36\x20\x36\x33\x31\x2e\x31\x34\x39\x38\x29\x22\x20\x77\
-\x69\x64\x74\x68\x3d\x22\x31\x32\x38\x2e\x30\x38\x35\x22\x20\x68\
-\x65\x69\x67\x68\x74\x3d\x22\x33\x35\x34\x2e\x30\x34\x39\x22\x2f\
-\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x37\x31\
-\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\x6c\x2d\x34\x38\x2e\
-\x31\x31\x35\x2d\x34\x38\x2e\x31\x31\x34\x63\x2d\x31\x31\x2e\x37\
-\x32\x33\x2d\x31\x31\x2e\x37\x32\x34\x2d\x33\x31\x2e\x35\x35\x38\
-\x2d\x31\x30\x2e\x38\x39\x36\x2d\x34\x34\x2e\x33\x30\x34\x2c\x31\
-\x2e\x38\x35\x6c\x2d\x34\x35\x2e\x32\x30\x32\x2c\x34\x35\x2e\x32\
-\x30\x33\x6c\x39\x30\x2e\x35\x36\x39\x2c\x39\x30\x2e\x35\x36\x38\
-\x6c\x34\x35\x2e\x32\x30\x32\x2d\x34\x35\x2e\x32\x30\x32\x0a\x09\
-\x09\x43\x34\x38\x32\x2e\x36\x31\x36\x2c\x31\x31\x39\x2e\x39\x35\
-\x32\x2c\x34\x38\x33\x2e\x34\x34\x35\x2c\x31\x30\x30\x2e\x31\x31\
-\x36\x2c\x34\x37\x31\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\
-\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\
-\x6f\x69\x6e\x74\x73\x3d\x22\x36\x34\x2e\x30\x32\x31\x2c\x33\x36\
-\x33\x2e\x32\x35\x32\x20\x33\x32\x2c\x34\x38\x30\x20\x31\x34\x38\
-\x2e\x37\x33\x37\x2c\x34\x34\x37\x2e\x39\x37\x39\x20\x09\x22\x2f\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
+\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
+\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
+\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
+\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
+\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
+\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
+\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
+\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
+\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
+\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
+\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
+\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
+\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
+\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
+\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
+\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
+\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
+\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
+\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\
\x00\x00\x03\x48\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -2074,7 +1819,7 @@ qt_resource_data = b"\
\x38\x38\x35\x2c\x31\x30\x2e\x36\x36\x36\x2c\x31\x30\x2e\x36\x36\
\x37\x0a\x09\x56\x33\x37\x33\x2e\x33\x33\x33\x7a\x22\x2f\x3e\x0a\
\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x02\x6c\
+\x00\x00\x03\x3d\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
@@ -2101,92 +1846,40 @@ qt_resource_data = b"\
\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
-\x5f\x31\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x67\x3e\
-\x0a\x09\x09\x09\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\x69\
-\x6e\x74\x73\x3d\x22\x31\x38\x36\x2e\x33\x30\x31\x2c\x33\x33\x39\
-\x2e\x38\x39\x33\x20\x39\x36\x2c\x32\x34\x39\x2e\x34\x36\x31\x20\
-\x36\x34\x2c\x32\x37\x39\x2e\x39\x36\x38\x20\x31\x38\x36\x2e\x33\
-\x30\x31\x2c\x34\x30\x32\x20\x34\x34\x38\x2c\x31\x34\x30\x2e\x35\
-\x30\x36\x20\x34\x31\x36\x2c\x31\x31\x30\x20\x09\x09\x09\x22\x2f\
-\x3e\x0a\x09\x09\x3c\x2f\x67\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
-\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\xe8\
-\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
-\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
-\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
-\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
-\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
-\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
-\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
-\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
-\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
-\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
-\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
-\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
-\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
-\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
-\x68\x65\x76\x72\x6f\x6e\x5f\x63\x69\x72\x63\x6c\x65\x64\x5f\x6c\
-\x65\x66\x74\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
-\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
-\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
-\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
-\x6b\x22\x0a\x09\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\
-\x30\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
-\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
-\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
-\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
-\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
-\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\x20\x30\x20\x30\
-\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\
-\x20\x64\x3d\x22\x4d\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\x37\
-\x36\x63\x2d\x30\x2e\x31\x39\x36\x2d\x30\x2e\x31\x39\x37\x2d\x30\
-\x2e\x35\x31\x35\x2d\x30\x2e\x31\x39\x37\x2d\x30\x2e\x37\x31\x2c\
-\x30\x4c\x37\x2e\x37\x38\x35\x2c\x39\x2e\x36\x34\x31\x63\x2d\x30\
-\x2e\x31\x39\x36\x2c\x30\x2e\x31\x39\x39\x2d\x30\x2e\x31\x39\x36\
-\x2c\x30\x2e\x35\x32\x2c\x30\x2c\x30\x2e\x37\x31\x37\x6c\x32\x2e\
-\x38\x30\x37\x2c\x32\x2e\x38\x36\x34\x0a\x09\x63\x30\x2e\x31\x39\
-\x35\x2c\x30\x2e\x31\x39\x39\x2c\x30\x2e\x35\x31\x34\x2c\x30\x2e\
-\x31\x39\x38\x2c\x30\x2e\x37\x31\x2c\x30\x63\x30\x2e\x31\x39\x36\
-\x2d\x30\x2e\x31\x39\x37\x2c\x30\x2e\x31\x39\x36\x2d\x30\x2e\x35\
-\x31\x38\x2c\x30\x2d\x30\x2e\x37\x31\x37\x4c\x39\x2c\x31\x30\x6c\
-\x32\x2e\x33\x30\x32\x2d\x32\x2e\x35\x30\x36\x43\x31\x31\x2e\x34\
-\x39\x38\x2c\x37\x2e\x32\x39\x36\x2c\x31\x31\x2e\x34\x39\x38\x2c\
-\x36\x2e\x39\x37\x36\x2c\x31\x31\x2e\x33\x30\x32\x2c\x36\x2e\x37\
-\x37\x36\x7a\x0a\x09\x20\x4d\x31\x30\x2c\x30\x2e\x34\x63\x2d\x35\
-\x2e\x33\x30\x32\x2c\x30\x2d\x39\x2e\x36\x2c\x34\x2e\x32\x39\x38\
-\x2d\x39\x2e\x36\x2c\x39\x2e\x36\x63\x30\x2c\x35\x2e\x33\x30\x33\
-\x2c\x34\x2e\x32\x39\x38\x2c\x39\x2e\x36\x2c\x39\x2e\x36\x2c\x39\
-\x2e\x36\x73\x39\x2e\x36\x2d\x34\x2e\x32\x39\x37\x2c\x39\x2e\x36\
-\x2d\x39\x2e\x36\x43\x31\x39\x2e\x36\x2c\x34\x2e\x36\x39\x38\x2c\
-\x31\x35\x2e\x33\x30\x32\x2c\x30\x2e\x34\x2c\x31\x30\x2c\x30\x2e\
-\x34\x7a\x20\x4d\x31\x30\x2c\x31\x38\x2e\x33\x35\x34\x0a\x09\x63\
-\x2d\x34\x2e\x36\x31\x35\x2c\x30\x2d\x38\x2e\x33\x35\x34\x2d\x33\
-\x2e\x37\x34\x2d\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
-\x30\x2d\x34\x2e\x36\x31\x34\x2c\x33\x2e\x37\x33\x39\x2d\x38\x2e\
-\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x2d\x38\x2e\x33\x35\x34\x63\
-\x34\x2e\x36\x31\x33\x2c\x30\x2c\x38\x2e\x33\x35\x34\x2c\x33\x2e\
-\x37\x34\x2c\x38\x2e\x33\x35\x34\x2c\x38\x2e\x33\x35\x34\x0a\x09\
-\x43\x31\x38\x2e\x33\x35\x34\x2c\x31\x34\x2e\x36\x31\x34\x2c\x31\
-\x34\x2e\x36\x31\x33\x2c\x31\x38\x2e\x33\x35\x34\x2c\x31\x30\x2c\
-\x31\x38\x2e\x33\x35\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
-\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x03\xda\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x70\x61\x74\
+\x68\x20\x64\x3d\x22\x4d\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\
+\x36\x4c\x33\x30\x36\x2e\x39\x2c\x32\x35\x36\x6c\x31\x33\x30\x2e\
+\x36\x2d\x31\x33\x30\x2e\x36\x63\x31\x34\x2e\x31\x2d\x31\x34\x2e\
+\x31\x2c\x31\x34\x2e\x31\x2d\x33\x36\x2e\x38\x2c\x30\x2d\x35\x30\
+\x2e\x39\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\x2d\x33\x36\
+\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\x30\x4c\x32\
+\x35\x36\x2c\x32\x30\x35\x2e\x31\x4c\x31\x32\x35\x2e\x34\x2c\x37\
+\x34\x2e\x35\x0a\x09\x63\x2d\x31\x34\x2e\x31\x2d\x31\x34\x2e\x31\
+\x2d\x33\x36\x2e\x38\x2d\x31\x34\x2e\x31\x2d\x35\x30\x2e\x39\x2c\
+\x30\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\x2e\
+\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x4c\x32\x30\
+\x35\x2e\x31\x2c\x32\x35\x36\x4c\x37\x34\x2e\x35\x2c\x33\x38\x36\
+\x2e\x36\x63\x2d\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2d\x31\x34\
+\x2e\x31\x2c\x33\x36\x2e\x38\x2c\x30\x2c\x35\x30\x2e\x39\x0a\x09\
+\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\x2c\
+\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x4c\x32\x35\x36\x2c\
+\x33\x30\x36\x2e\x39\x6c\x31\x33\x30\x2e\x36\x2c\x31\x33\x30\x2e\
+\x36\x63\x31\x34\x2e\x31\x2c\x31\x34\x2e\x31\x2c\x33\x36\x2e\x38\
+\x2c\x31\x34\x2e\x31\x2c\x35\x30\x2e\x39\x2c\x30\x43\x34\x35\x31\
+\x2e\x35\x2c\x34\x32\x33\x2e\x34\x2c\x34\x35\x31\x2e\x35\x2c\x34\
+\x30\x30\x2e\x36\x2c\x34\x33\x37\x2e\x35\x2c\x33\x38\x36\x2e\x36\
+\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x02\x72\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
-\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x30\x2e\x30\x2c\x20\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
@@ -2211,113 +1904,42 @@ qt_resource_data = b"\
\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
-\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\x2e\x38\
-\x32\x38\x63\x34\x30\x2e\x30\x32\x33\x2d\x30\x2e\x33\x31\x35\x2c\
-\x34\x35\x2e\x30\x31\x2d\x39\x2e\x39\x35\x35\x2c\x35\x38\x2e\x30\
-\x35\x32\x2d\x35\x30\x2e\x31\x33\x32\x63\x32\x34\x2e\x30\x35\x37\
-\x2d\x36\x33\x2e\x34\x30\x38\x2c\x31\x33\x32\x2e\x34\x31\x39\x2c\
-\x31\x36\x2e\x35\x39\x31\x2c\x36\x35\x2e\x32\x36\x39\x2c\x34\x34\
-\x2e\x33\x37\x34\x0a\x09\x09\x43\x31\x30\x34\x2e\x36\x32\x32\x2c\
-\x34\x38\x36\x2e\x38\x35\x32\x2c\x38\x2e\x34\x32\x38\x2c\x34\x36\
-\x35\x2e\x31\x34\x33\x2c\x34\x38\x2e\x34\x35\x31\x2c\x34\x36\x34\
-\x2e\x38\x32\x38\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\
-\x64\x3d\x22\x4d\x34\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\
-\x30\x32\x63\x2d\x31\x39\x2e\x34\x31\x37\x2d\x31\x35\x2e\x36\x34\
-\x37\x2d\x35\x31\x2e\x35\x39\x32\x2d\x37\x2e\x39\x33\x38\x2d\x37\
-\x31\x2e\x38\x36\x34\x2c\x31\x37\x2e\x32\x31\x39\x4c\x31\x38\x31\
-\x2e\x36\x34\x35\x2c\x33\x35\x35\x2e\x38\x34\x39\x63\x2d\x32\x30\
-\x2e\x32\x37\x32\x2c\x32\x35\x2e\x31\x35\x34\x2d\x32\x30\x2e\x31\
-\x37\x31\x2c\x32\x30\x2e\x33\x34\x37\x2d\x30\x2e\x37\x35\x34\x2c\
-\x33\x35\x2e\x39\x39\x32\x0a\x09\x09\x63\x31\x39\x2e\x34\x31\x37\
-\x2c\x31\x35\x2e\x36\x34\x38\x2c\x31\x34\x2e\x37\x33\x38\x2c\x31\
-\x36\x2e\x37\x37\x2c\x33\x35\x2e\x30\x31\x31\x2d\x38\x2e\x33\x38\
-\x38\x6c\x32\x34\x31\x2e\x34\x30\x36\x2d\x32\x36\x32\x2e\x36\x36\
-\x39\x43\x34\x37\x37\x2e\x35\x38\x31\x2c\x39\x35\x2e\x36\x32\x38\
-\x2c\x34\x37\x38\x2e\x32\x37\x35\x2c\x36\x32\x2e\x35\x35\x2c\x34\
-\x35\x38\x2e\x38\x35\x37\x2c\x34\x36\x2e\x39\x30\x32\x7a\x20\x4d\
-\x34\x30\x36\x2e\x30\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x0a\x09\
-\x09\x63\x30\x2c\x30\x2d\x33\x2d\x33\x2e\x35\x2d\x31\x33\x2d\x31\
-\x31\x2e\x35\x63\x31\x35\x2d\x32\x34\x2e\x35\x2c\x34\x34\x2e\x35\
-\x2d\x32\x30\x2c\x34\x34\x2e\x35\x2d\x32\x30\x43\x34\x30\x39\x2e\
-\x35\x36\x35\x2c\x36\x36\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\
-\x36\x35\x2c\x38\x31\x2e\x38\x32\x35\x2c\x34\x30\x36\x2e\x30\x36\
-\x35\x2c\x38\x31\x2e\x38\x32\x35\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\
-\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x04\x73\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x38\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\
+\x74\x68\x20\x64\x3d\x22\x4d\x38\x35\x2c\x32\x37\x37\x2e\x33\x37\
+\x35\x68\x32\x35\x39\x2e\x37\x30\x34\x4c\x32\x32\x35\x2e\x30\x30\
+\x32\x2c\x33\x39\x37\x2e\x30\x37\x37\x4c\x32\x35\x36\x2c\x34\x32\
+\x37\x6c\x31\x37\x31\x2d\x31\x37\x31\x4c\x32\x35\x36\x2c\x38\x35\
+\x6c\x2d\x32\x39\x2e\x39\x32\x32\x2c\x32\x39\x2e\x39\x32\x34\x6c\
+\x31\x31\x38\x2e\x36\x32\x36\x2c\x31\x31\x39\x2e\x37\x30\x31\x48\
+\x38\x35\x56\x32\x37\x37\x2e\x33\x37\x35\x7a\x22\x2f\x3e\x0a\x09\
+\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x0a\
+\x00\x00\x01\x69\
\x3c\
-\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
-\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
-\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
-\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
-\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
-\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
-\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
-\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
-\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
-\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
-\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
-\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
-\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
-\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
-\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
-\x20\x36\x2e\x32\x32\x30\x37\x32\x20\x32\x34\x2e\x39\x36\x35\x35\
-\x20\x39\x2e\x30\x34\x39\x38\x39\x20\x31\x38\x2e\x31\x33\x35\x33\
-\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
-\x43\x20\x32\x39\x2e\x35\x30\x36\x32\x20\x2d\x33\x2e\x34\x38\x36\
-\x38\x36\x20\x35\x35\x2e\x33\x36\x37\x33\x20\x32\x2e\x36\x39\x39\
-\x35\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
-\x38\x43\x20\x35\x39\x2e\x36\x39\x32\x32\x20\x33\x31\x2e\x35\x38\
-\x38\x31\x20\x35\x32\x2e\x36\x35\x30\x38\x20\x34\x30\x2e\x36\x37\
-\x37\x39\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
-\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
-\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
-\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
-\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
-\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
-\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
-\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
-\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
-\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
-\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
-\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
-\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
-\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
-\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
-\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
-\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
-\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
-\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
-\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
-\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
-\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
-\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
-\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
-\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
-\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
-\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
-\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
-\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
-\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
-\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
-\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
-\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
-\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
-\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
-\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
-\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
-\x67\x3e\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
+\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\
+\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\
+\x34\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x3c\
+\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x2e\x33\x34\x20\x31\x35\
+\x2e\x36\x36\x41\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\x30\x20\
+\x30\x20\x30\x20\x39\x20\x31\x37\x2e\x39\x34\x56\x31\x30\x48\x35\
+\x56\x38\x68\x34\x56\x35\x2e\x38\x33\x61\x33\x20\x33\x20\x30\x20\
+\x31\x20\x31\x20\x32\x20\x30\x56\x38\x68\x34\x76\x32\x68\x2d\x34\
+\x76\x37\x2e\x39\x34\x61\x37\x2e\x39\x37\x20\x37\x2e\x39\x37\x20\
+\x30\x20\x30\x20\x30\x20\x34\x2e\x36\x36\x2d\x32\x2e\x32\x38\x6c\
+\x2d\x31\x2e\x34\x32\x2d\x31\x2e\x34\x32\x68\x35\x2e\x36\x36\x6c\
+\x2d\x32\x2e\x38\x33\x20\x32\x2e\x38\x33\x61\x31\x30\x20\x31\x30\
+\x20\x30\x20\x30\x20\x31\x2d\x31\x34\x2e\x31\x34\x20\x30\x4c\x2e\
+\x31\x20\x31\x34\x2e\x32\x34\x68\x35\x2e\x36\x36\x6c\x2d\x31\x2e\
+\x34\x32\x20\x31\x2e\x34\x32\x7a\x4d\x31\x30\x20\x34\x61\x31\x20\
+\x31\x20\x30\x20\x31\x20\x30\x20\x30\x2d\x32\x20\x31\x20\x31\x20\
+\x30\x20\x30\x20\x30\x20\x30\x20\x32\x7a\x22\x2f\x3e\x3c\x2f\x67\
+\x3e\x3c\x2f\x73\x76\x67\x3e\x0a\
\x00\x00\x04\xca\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -2397,7 +2019,217 @@ qt_resource_data = b"\
\x36\x37\x2c\x37\x2e\x34\x37\x30\x34\x0a\x09\x48\x33\x2e\x33\x37\
\x33\x33\x4c\x37\x2e\x35\x2c\x33\x2e\x38\x39\x39\x33\x7a\x22\x2f\
\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
-\x00\x00\x05\x9c\
+\x00\x00\x02\x1c\
+\x00\
+\x00\x07\x5c\x78\x9c\xdd\x55\x4d\x73\x9b\x30\x10\xbd\xf7\x57\x6c\
+\xa7\x07\x25\x07\x84\xbe\x10\x28\x13\x92\x99\x7a\xa6\xa7\xf4\x96\
+\x5c\x7a\xc3\x41\x80\x1a\x0c\x1e\xa0\xc6\xfd\xf7\x95\x6d\x49\x76\
+\x69\x33\xbd\xe4\xd0\x89\x0f\x98\xf7\x56\x6f\xd9\xb7\xcb\x0e\xb7\
+\xf7\xfb\x4d\x0b\x3b\x3d\x8c\xa6\xef\x72\x44\x31\x41\xa0\xbb\xe7\
+\xbe\x34\x5d\x9d\xa3\xa7\xc7\x2f\x51\x86\xee\xef\x3e\xdc\x7e\x8c\
+\x22\x78\x6c\xcc\x08\x95\x69\x35\xcc\xc5\x08\xb5\xee\xf4\x50\x4c\
+\xba\x84\xf5\x4f\x28\x77\x66\xdc\xd5\x1b\x60\x98\x52\x4c\x21\x8a\
+\xac\xc4\x12\x97\x89\x29\x02\xfb\xa8\x6e\xcc\x51\x33\x4d\xdb\x9b\
+\x38\x9e\xe7\x19\xcf\x1c\xf7\x43\x1d\x33\x42\x48\x6c\xcf\xbb\x23\
+\x37\xfb\xd6\x74\x2f\x7f\x3b\x48\x95\x52\xf1\x31\x8a\x60\x36\xe5\
+\xd4\xe4\x48\x72\x6c\x49\xb9\x9d\x10\x34\xda\xd4\xcd\x64\x29\x71\
+\x40\x3b\xa3\xe7\xcf\xfd\x3e\x47\x89\xc4\x82\x28\x01\x94\xa6\x38\
+\x4b\x32\x70\x0a\x90\x02\xd9\x32\x6b\x30\x65\x8e\xb6\x45\xad\xe9\
+\x09\x4e\x43\xd1\x8d\x55\x3f\x6c\x72\x74\xbc\x6d\xad\xc9\xab\x45\
+\x8e\xeb\xf1\xb9\x68\xf5\x95\xcd\x23\x99\x14\xd7\x07\xe1\xb6\x98\
+\x1a\xb0\x99\xbe\x82\xc2\x5c\xa4\x82\x81\x60\x38\x15\x29\x7b\x08\
+\x44\x22\x70\xa6\x98\xfc\x83\x58\x2d\x89\x7f\xe1\x0b\x81\xc2\x24\
+\x13\x0a\xa8\xc2\x89\xe0\x14\x24\xc3\x22\xe3\x02\xb8\x9d\x04\xf3\
+\x68\x05\x42\x60\xa9\xa4\x0a\x61\x9f\xd7\xcb\x03\xf6\x15\xbe\x4a\
+\x04\x53\x9e\xe0\x04\x4b\x42\xb3\x55\x20\xd8\xb1\x55\x49\x78\x26\
+\xe3\x98\x50\xea\x2a\x3a\x81\x55\xa8\xd7\x05\xbd\x1d\xaf\xf5\xd8\
+\x25\x7f\x58\xf6\xf4\x1b\x3a\xbc\x88\x6d\x8e\x3e\xad\xab\x75\x55\
+\x55\x28\xb6\x13\x88\xeb\xb7\x99\x5f\x30\x22\x70\xc2\x14\xbd\x70\
+\x46\x30\xe7\x32\x0b\xce\xa8\xc4\x8a\x67\xdc\x59\x73\xe8\xec\xcd\
+\x87\x83\x39\x27\x0f\xd8\xe7\x0f\x44\x86\x53\x46\x93\x90\xe0\x94\
+\xf7\xe2\x7a\x1e\xe4\x89\x0c\x85\x39\xe1\xa2\xf2\xd0\xa5\xae\xef\
+\x34\x82\x71\x1a\xfa\x17\x6d\x7b\x46\x8e\x3f\x4f\x44\x76\x9d\xf4\
+\x73\xb1\xcd\xd1\xd0\xff\xe8\xca\xdf\xe8\xef\xbd\xe9\x96\xfc\xc6\
+\x4c\x7a\x68\x8d\xfd\xb3\x6b\x4d\x30\xe1\x69\x12\x62\x6e\x27\x39\
+\x4e\x28\xa7\xec\x4d\xa7\xb2\xe8\xda\xfb\xda\x2a\x67\xea\x3d\xcd\
+\xeb\xd5\x2d\xb2\x5f\x08\x95\x30\x76\xde\x22\x9c\x26\x32\x91\x7e\
+\x8b\x4e\xe8\x62\x8b\x5c\xd8\xcf\xc6\xcb\x17\xef\xc3\x7f\xd3\xba\
+\xd3\xc5\x7e\xcc\xee\x7e\x01\xb3\x30\xdb\xa9\
+\x00\x00\x03\x3f\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x20\x69\x64\x3d\x22\x49\x63\x6f\x6e\
+\x5f\x32\x31\x5f\x22\x3e\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\
+\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\x35\x32\x63\
+\x2d\x35\x37\x2e\x32\x2c\x30\x2d\x31\x30\x34\x2c\x34\x36\x2e\x38\
+\x2d\x31\x30\x34\x2c\x31\x30\x34\x73\x34\x36\x2e\x38\x2c\x31\x30\
+\x34\x2c\x31\x30\x34\x2c\x31\x30\x34\x73\x31\x30\x34\x2d\x34\x36\
+\x2e\x38\x2c\x31\x30\x34\x2d\x31\x30\x34\x53\x33\x31\x33\x2e\x32\
+\x2c\x31\x35\x32\x2c\x32\x35\x36\x2c\x31\x35\x32\x7a\x20\x4d\x32\
+\x35\x36\x2c\x34\x38\x0a\x09\x09\x09\x43\x31\x34\x31\x2e\x36\x30\
+\x31\x2c\x34\x38\x2c\x34\x38\x2c\x31\x34\x31\x2e\x36\x30\x31\x2c\
+\x34\x38\x2c\x32\x35\x36\x73\x39\x33\x2e\x36\x30\x31\x2c\x32\x30\
+\x38\x2c\x32\x30\x38\x2c\x32\x30\x38\x73\x32\x30\x38\x2d\x39\x33\
+\x2e\x36\x30\x31\x2c\x32\x30\x38\x2d\x32\x30\x38\x53\x33\x37\x30\
+\x2e\x33\x39\x39\x2c\x34\x38\x2c\x32\x35\x36\x2c\x34\x38\x7a\x20\
+\x4d\x32\x35\x36\x2c\x34\x32\x32\x2e\x34\x0a\x09\x09\x09\x63\x2d\
+\x39\x31\x2e\x35\x31\x38\x2c\x30\x2d\x31\x36\x36\x2e\x34\x2d\x37\
+\x34\x2e\x38\x38\x33\x2d\x31\x36\x36\x2e\x34\x2d\x31\x36\x36\x2e\
+\x34\x53\x31\x36\x34\x2e\x34\x38\x32\x2c\x38\x39\x2e\x36\x2c\x32\
+\x35\x36\x2c\x38\x39\x2e\x36\x53\x34\x32\x32\x2e\x34\x2c\x31\x36\
+\x34\x2e\x34\x38\x32\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\x36\x53\
+\x33\x34\x37\x2e\x35\x31\x38\x2c\x34\x32\x32\x2e\x34\x2c\x32\x35\
+\x36\x2c\x34\x32\x32\x2e\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\xdc\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x73\x74\x79\x6c\x65\
+\x3d\x22\x65\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\
+\x75\x6e\x64\x3a\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\
+\x35\x31\x32\x3b\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\
+\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\
+\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x32\x35\x36\x2c\x31\
+\x32\x38\x63\x2d\x38\x31\x2e\x39\x2c\x30\x2d\x31\x34\x35\x2e\x37\
+\x2c\x34\x38\x2e\x38\x2d\x32\x32\x34\x2c\x31\x32\x38\x63\x36\x37\
+\x2e\x34\x2c\x36\x37\x2e\x37\x2c\x31\x32\x34\x2c\x31\x32\x38\x2c\
+\x32\x32\x34\x2c\x31\x32\x38\x63\x39\x39\x2e\x39\x2c\x30\x2c\x31\
+\x37\x33\x2e\x34\x2d\x37\x36\x2e\x34\x2c\x32\x32\x34\x2d\x31\x32\
+\x36\x2e\x36\x0a\x09\x09\x43\x34\x32\x38\x2e\x32\x2c\x31\x39\x38\
+\x2e\x36\x2c\x33\x35\x34\x2e\x38\x2c\x31\x32\x38\x2c\x32\x35\x36\
+\x2c\x31\x32\x38\x7a\x20\x4d\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\
+\x63\x2d\x34\x39\x2e\x34\x2c\x30\x2d\x38\x39\x2e\x36\x2d\x34\x31\
+\x2d\x38\x39\x2e\x36\x2d\x39\x31\x2e\x33\x63\x30\x2d\x35\x30\x2e\
+\x34\x2c\x34\x30\x2e\x32\x2d\x39\x31\x2e\x33\x2c\x38\x39\x2e\x36\
+\x2d\x39\x31\x2e\x33\x73\x38\x39\x2e\x36\x2c\x34\x31\x2c\x38\x39\
+\x2e\x36\x2c\x39\x31\x2e\x33\x0a\x09\x09\x43\x33\x34\x35\x2e\x36\
+\x2c\x33\x30\x36\x2e\x34\x2c\x33\x30\x35\x2e\x34\x2c\x33\x34\x37\
+\x2e\x33\x2c\x32\x35\x36\x2c\x33\x34\x37\x2e\x33\x7a\x22\x2f\x3e\
+\x0a\x09\x3c\x67\x3e\x0a\x09\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x22\x4d\x32\x35\x36\x2c\x32\x32\x34\x63\x30\x2d\x37\x2e\x39\x2c\
+\x32\x2e\x39\x2d\x31\x35\x2e\x31\x2c\x37\x2e\x36\x2d\x32\x30\x2e\
+\x37\x63\x2d\x32\x2e\x35\x2d\x30\x2e\x34\x2d\x35\x2d\x30\x2e\x36\
+\x2d\x37\x2e\x36\x2d\x30\x2e\x36\x63\x2d\x32\x38\x2e\x38\x2c\x30\
+\x2d\x35\x32\x2e\x33\x2c\x32\x33\x2e\x39\x2d\x35\x32\x2e\x33\x2c\
+\x35\x33\x2e\x33\x63\x30\x2c\x32\x39\x2e\x34\x2c\x32\x33\x2e\x35\
+\x2c\x35\x33\x2e\x33\x2c\x35\x32\x2e\x33\x2c\x35\x33\x2e\x33\x0a\
+\x09\x09\x09\x73\x35\x32\x2e\x33\x2d\x32\x33\x2e\x39\x2c\x35\x32\
+\x2e\x33\x2d\x35\x33\x2e\x33\x63\x30\x2d\x32\x2e\x33\x2d\x30\x2e\
+\x32\x2d\x34\x2e\x36\x2d\x30\x2e\x34\x2d\x36\x2e\x39\x63\x2d\x35\
+\x2e\x35\x2c\x34\x2e\x33\x2d\x31\x32\x2e\x33\x2c\x36\x2e\x39\x2d\
+\x31\x39\x2e\x38\x2c\x36\x2e\x39\x43\x32\x37\x30\x2e\x33\x2c\x32\
+\x35\x36\x2c\x32\x35\x36\x2c\x32\x34\x31\x2e\x37\x2c\x32\x35\x36\
+\x2c\x32\x32\x34\x7a\x22\x2f\x3e\x0a\x09\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x5f\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x36\x2e\x32\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x4c\
+\x61\x79\x65\x72\x5f\x31\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\
+\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\
+\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\
+\x3a\x78\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\
+\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\
+\x6c\x69\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\
+\x22\x30\x70\x78\x22\x0a\x09\x20\x77\x69\x64\x74\x68\x3d\x22\x35\
+\x31\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\x20\
+\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\x6e\x61\x62\x6c\
+\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\
+\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x78\
+\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\
+\x76\x65\x22\x3e\x0a\x3c\x67\x3e\x0a\x09\x0a\x09\x09\x3c\x72\x65\
+\x63\x74\x20\x78\x3d\x22\x31\x37\x38\x2e\x38\x34\x36\x22\x20\x79\
+\x3d\x22\x39\x32\x2e\x30\x38\x37\x22\x20\x74\x72\x61\x6e\x73\x66\
+\x6f\x72\x6d\x3d\x22\x6d\x61\x74\x72\x69\x78\x28\x2d\x30\x2e\x37\
+\x30\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x30\x2e\x37\x30\
+\x37\x31\x20\x2d\x30\x2e\x37\x30\x37\x31\x20\x32\x32\x34\x2e\x33\
+\x34\x37\x36\x20\x36\x33\x31\x2e\x31\x34\x39\x38\x29\x22\x20\x77\
+\x69\x64\x74\x68\x3d\x22\x31\x32\x38\x2e\x30\x38\x35\x22\x20\x68\
+\x65\x69\x67\x68\x74\x3d\x22\x33\x35\x34\x2e\x30\x34\x39\x22\x2f\
+\x3e\x0a\x09\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x34\x37\x31\
+\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\x6c\x2d\x34\x38\x2e\
+\x31\x31\x35\x2d\x34\x38\x2e\x31\x31\x34\x63\x2d\x31\x31\x2e\x37\
+\x32\x33\x2d\x31\x31\x2e\x37\x32\x34\x2d\x33\x31\x2e\x35\x35\x38\
+\x2d\x31\x30\x2e\x38\x39\x36\x2d\x34\x34\x2e\x33\x30\x34\x2c\x31\
+\x2e\x38\x35\x6c\x2d\x34\x35\x2e\x32\x30\x32\x2c\x34\x35\x2e\x32\
+\x30\x33\x6c\x39\x30\x2e\x35\x36\x39\x2c\x39\x30\x2e\x35\x36\x38\
+\x6c\x34\x35\x2e\x32\x30\x32\x2d\x34\x35\x2e\x32\x30\x32\x0a\x09\
+\x09\x43\x34\x38\x32\x2e\x36\x31\x36\x2c\x31\x31\x39\x2e\x39\x35\
+\x32\x2c\x34\x38\x33\x2e\x34\x34\x35\x2c\x31\x30\x30\x2e\x31\x31\
+\x36\x2c\x34\x37\x31\x2e\x37\x32\x33\x2c\x38\x38\x2e\x33\x39\x33\
+\x7a\x22\x2f\x3e\x0a\x09\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\
+\x6f\x69\x6e\x74\x73\x3d\x22\x36\x34\x2e\x30\x32\x31\x2c\x33\x36\
+\x33\x2e\x32\x35\x32\x20\x33\x32\x2c\x34\x38\x30\x20\x31\x34\x38\
+\x2e\x37\x33\x37\x2c\x34\x34\x37\x2e\x39\x37\x39\x20\x09\x22\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\x13\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
@@ -2411,84 +2243,60 @@ qt_resource_data = b"\
\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
-\x27\x36\x33\x2e\x39\x39\x39\x36\x70\x74\x27\x20\x68\x65\x69\x67\
+\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
-\x78\x3d\x27\x35\x36\x2e\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\
-\x35\x38\x20\x36\x33\x2e\x39\x39\x39\x36\x20\x36\x34\x27\x3e\x0a\
+\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
-\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\x34\x30\x39\x34\x20\x31\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
-\x27\x4d\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\
-\x39\x31\x43\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x32\x30\x2e\x33\
-\x33\x36\x38\x20\x34\x34\x2e\x36\x39\x36\x39\x20\x31\x36\x2e\x39\
-\x33\x38\x33\x20\x33\x32\x2e\x31\x32\x20\x31\x36\x2e\x39\x33\x38\
-\x33\x43\x20\x31\x39\x2e\x35\x34\x33\x31\x20\x31\x36\x2e\x39\x33\
-\x38\x33\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x30\x2e\x33\x33\
-\x36\x38\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x34\x2e\x35\x32\
-\x39\x31\x43\x20\x39\x2e\x33\x34\x37\x34\x32\x20\x32\x38\x2e\x37\
-\x32\x31\x35\x20\x31\x39\x2e\x35\x34\x33\x31\x20\x33\x32\x2e\x31\
-\x32\x20\x33\x32\x2e\x31\x32\x20\x33\x32\x2e\x31\x32\x43\x20\x34\
-\x34\x2e\x36\x39\x36\x39\x20\x33\x32\x2e\x31\x32\x20\x35\x34\x2e\
-\x38\x39\x32\x36\x20\x32\x38\x2e\x37\x32\x31\x35\x20\x35\x34\x2e\
-\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\x39\x31\x5a\x27\x20\x66\
-\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\
-\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\
-\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\
-\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\
-\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\
-\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\
-\x64\x74\x68\x3d\x27\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\
-\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
-\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\
-\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\
-\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x39\x2e\x33\x34\x37\x34\x32\
-\x20\x32\x34\x2e\x35\x32\x39\x31\x4c\x20\x39\x2e\x33\x34\x37\x34\
-\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x39\x2e\x33\x34\x37\
-\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x43\x20\x39\x2e\x33\x34\
-\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x39\x2e\x33\x34\
-\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x20\x39\x2e\x33\x34\
-\x37\x34\x32\x20\x35\x34\x2e\x38\x39\x32\x36\x43\x20\x39\x2e\x33\
-\x34\x37\x34\x32\x20\x35\x39\x2e\x30\x38\x34\x39\x20\x31\x39\x2e\
-\x35\x34\x33\x31\x20\x36\x32\x2e\x34\x38\x33\x34\x20\x33\x32\x2e\
-\x31\x32\x20\x36\x32\x2e\x34\x38\x33\x34\x43\x20\x34\x34\x2e\x36\
-\x39\x36\x39\x20\x36\x32\x2e\x34\x38\x33\x34\x20\x35\x34\x2e\x38\
-\x39\x32\x36\x20\x35\x39\x2e\x30\x38\x34\x39\x20\x35\x34\x2e\x38\
-\x39\x32\x36\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x35\x34\x2e\
-\x38\x39\x32\x36\x20\x35\x34\x2e\x38\x39\x32\x36\x4c\x20\x35\x34\
-\x2e\x38\x39\x32\x36\x20\x32\x34\x2e\x35\x32\x39\x31\x27\x20\x66\
-\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\
-\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\
-\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\
-\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\
-\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\
-\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\
-\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\
-\x64\x74\x68\x3d\x27\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\
-\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\
-\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x36\x2e\
-\x34\x30\x39\x34\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\
-\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\
-\x61\x74\x68\x20\x64\x3d\x27\x4d\x20\x35\x34\x2e\x38\x39\x32\x36\
-\x20\x32\x34\x2e\x35\x32\x39\x31\x43\x20\x35\x34\x2e\x38\x39\x32\
-\x36\x20\x31\x31\x2e\x39\x35\x32\x32\x20\x34\x34\x2e\x36\x39\x36\
-\x39\x20\x31\x2e\x37\x35\x36\x35\x36\x20\x33\x32\x2e\x31\x32\x20\
-\x31\x2e\x37\x35\x36\x35\x36\x43\x20\x31\x39\x2e\x35\x34\x33\x31\
-\x20\x31\x2e\x37\x35\x36\x35\x36\x20\x39\x2e\x33\x34\x37\x34\x32\
-\x20\x31\x31\x2e\x39\x35\x32\x32\x20\x39\x2e\x33\x34\x37\x34\x32\
-\x20\x32\x34\x2e\x35\x32\x39\x31\x27\x20\x66\x69\x6c\x6c\x3d\x27\
-\x6e\x6f\x6e\x65\x27\x20\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\
-\x30\x30\x30\x30\x30\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\
-\x6e\x65\x63\x61\x70\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\
-\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\
-\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\
-\x65\x72\x6c\x69\x6d\x69\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\
-\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\
-\x33\x2e\x35\x31\x33\x31\x32\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\
-\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x4c\
+\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
+\x4c\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\x37\
+\x38\x4c\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\x31\
+\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
+\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
+\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
+\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
+\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
+\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
+\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
+\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
+\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
+\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
+\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
+\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
+\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
+\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
+\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
+\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
+\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
+\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
+\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
+\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\
\x00\x00\x02\xee\
\x3c\
\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
@@ -2538,6 +2346,198 @@ qt_resource_data = b"\
\x32\x0a\x09\x43\x34\x34\x38\x2c\x32\x33\x38\x2e\x33\x2c\x34\x33\
\x34\x2e\x33\x2c\x32\x32\x34\x2c\x34\x31\x37\x2e\x34\x2c\x32\x32\
\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x04\xa3\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\
+\x30\x27\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x27\x55\x54\x46\
+\x2d\x38\x27\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x54\x68\x69\x73\x20\
+\x66\x69\x6c\x65\x20\x77\x61\x73\x20\x67\x65\x6e\x65\x72\x61\x74\
+\x65\x64\x20\x62\x79\x20\x64\x76\x69\x73\x76\x67\x6d\x20\x32\x2e\
+\x31\x31\x2e\x31\x20\x2d\x2d\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\
+\x72\x73\x69\x6f\x6e\x3d\x27\x31\x2e\x31\x27\x20\x78\x6d\x6c\x6e\
+\x73\x3d\x27\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\
+\x2e\x6f\x72\x67\x2f\x32\x30\x30\x30\x2f\x73\x76\x67\x27\x20\x78\
+\x6d\x6c\x6e\x73\x3a\x78\x6c\x69\x6e\x6b\x3d\x27\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\
+\x39\x39\x2f\x78\x6c\x69\x6e\x6b\x27\x20\x77\x69\x64\x74\x68\x3d\
+\x27\x36\x34\x2e\x30\x30\x30\x31\x70\x74\x27\x20\x68\x65\x69\x67\
+\x68\x74\x3d\x27\x36\x34\x70\x74\x27\x20\x76\x69\x65\x77\x42\x6f\
+\x78\x3d\x27\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x20\x36\x34\x2e\x30\x30\x30\x31\x20\x36\x34\x27\x3e\x0a\
+\x3c\x67\x20\x69\x64\x3d\x27\x70\x61\x67\x65\x31\x27\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\
+\x27\x4d\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\x32\x43\
+\x20\x34\x2e\x33\x35\x34\x33\x38\x20\x32\x34\x2e\x39\x32\x38\x37\
+\x20\x38\x2e\x34\x33\x32\x31\x37\x20\x31\x38\x2e\x30\x30\x31\x34\
+\x20\x31\x33\x2e\x39\x36\x38\x37\x20\x31\x32\x2e\x39\x33\x36\x31\
+\x43\x20\x33\x31\x2e\x37\x33\x33\x39\x20\x2d\x33\x2e\x33\x31\x36\
+\x37\x35\x20\x35\x37\x2e\x32\x39\x34\x33\x20\x33\x2e\x35\x39\x37\
+\x39\x37\x20\x35\x38\x2e\x32\x31\x37\x35\x20\x32\x31\x2e\x37\x33\
+\x37\x38\x43\x20\x35\x38\x2e\x36\x37\x38\x38\x20\x33\x30\x2e\x38\
+\x30\x31\x39\x20\x35\x31\x2e\x31\x37\x38\x33\x20\x33\x37\x2e\x36\
+\x34\x34\x31\x20\x34\x32\x2e\x37\x34\x34\x35\x20\x34\x31\x2e\x37\
+\x31\x31\x39\x43\x20\x32\x37\x2e\x34\x36\x34\x36\x20\x34\x39\x2e\
+\x30\x38\x31\x38\x20\x39\x2e\x32\x36\x34\x35\x31\x20\x34\x36\x2e\
+\x30\x39\x36\x34\x20\x36\x2e\x30\x32\x32\x35\x20\x33\x32\x2e\x31\
+\x32\x5a\x27\x20\x66\x69\x6c\x6c\x3d\x27\x6e\x6f\x6e\x65\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x3d\x27\x23\x30\x30\x30\x30\x30\x30\x27\
+\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\x69\x6e\x65\x63\x61\x70\x3d\
+\x27\x72\x6f\x75\x6e\x64\x27\x20\x73\x74\x72\x6f\x6b\x65\x2d\x6c\
+\x69\x6e\x65\x6a\x6f\x69\x6e\x3d\x27\x72\x6f\x75\x6e\x64\x27\x20\
+\x73\x74\x72\x6f\x6b\x65\x2d\x6d\x69\x74\x65\x72\x6c\x69\x6d\x69\
+\x74\x3d\x27\x31\x30\x2e\x30\x33\x37\x35\x27\x20\x73\x74\x72\x6f\
+\x6b\x65\x2d\x77\x69\x64\x74\x68\x3d\x27\x32\x2e\x35\x30\x39\x33\
+\x37\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\
+\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\
+\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\x35\
+\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\x29\
+\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\x36\
+\x2e\x30\x32\x32\x35\x27\x20\x63\x79\x3d\x27\x33\x32\x2e\x31\x32\
+\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\
+\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\
+\x67\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\
+\x27\x74\x72\x61\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\
+\x36\x39\x20\x31\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\
+\x28\x2e\x39\x39\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\
+\x63\x6c\x65\x20\x63\x78\x3d\x27\x31\x33\x2e\x39\x36\x38\x37\x27\
+\x20\x63\x79\x3d\x27\x31\x32\x2e\x39\x33\x36\x31\x27\x20\x66\x69\
+\x6c\x6c\x3d\x27\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\
+\x36\x2e\x30\x32\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\
+\x6e\x73\x6c\x61\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\
+\x31\x37\x2e\x38\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\
+\x36\x32\x36\x34\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\
+\x63\x78\x3d\x27\x35\x38\x2e\x32\x31\x37\x35\x27\x20\x63\x79\x3d\
+\x27\x32\x31\x2e\x37\x33\x37\x38\x27\x20\x66\x69\x6c\x6c\x3d\x27\
+\x23\x66\x66\x30\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\
+\x32\x35\x27\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x67\x20\x74\x72\
+\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x74\x72\x61\x6e\x73\x6c\x61\
+\x74\x65\x28\x35\x38\x2e\x34\x36\x36\x39\x20\x31\x31\x37\x2e\x38\
+\x35\x38\x29\x73\x63\x61\x6c\x65\x28\x2e\x39\x39\x36\x32\x36\x34\
+\x29\x27\x3e\x0a\x3c\x63\x69\x72\x63\x6c\x65\x20\x63\x78\x3d\x27\
+\x34\x32\x2e\x37\x34\x34\x35\x27\x20\x63\x79\x3d\x27\x34\x31\x2e\
+\x37\x31\x31\x39\x27\x20\x66\x69\x6c\x6c\x3d\x27\x23\x66\x66\x30\
+\x30\x30\x30\x27\x20\x72\x3d\x27\x36\x2e\x30\x32\x32\x35\x27\x2f\
+\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\
+\x67\x3e\
+\x00\x00\x01\x1c\
+\x3c\
+\x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
+\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
+\x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x35\x31\
+\x32\x70\x78\x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x35\x31\x32\
+\x70\x78\x22\x0a\x20\x20\x20\x20\x20\x76\x69\x65\x77\x42\x6f\x78\
+\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x3e\x0a\
+\x3c\x67\x20\x74\x72\x61\x6e\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\
+\x74\x72\x69\x78\x28\x34\x38\x20\x30\x20\x30\x20\x34\x38\x20\x34\
+\x38\x20\x34\x38\x29\x27\x3e\x0a\x20\x20\x3c\x70\x61\x74\x68\x20\
+\x64\x3d\x22\x4d\x30\x20\x30\x76\x32\x68\x2e\x35\x63\x30\x2d\x2e\
+\x35\x35\x2e\x34\x35\x2d\x31\x20\x31\x2d\x31\x68\x31\x2e\x35\x76\
+\x35\x2e\x35\x63\x30\x20\x2e\x32\x38\x2d\x2e\x32\x32\x2e\x35\x2d\
+\x2e\x35\x2e\x35\x68\x2d\x2e\x35\x76\x31\x68\x34\x76\x2d\x31\x68\
+\x2d\x2e\x35\x63\x2d\x2e\x32\x38\x20\x30\x2d\x2e\x35\x2d\x2e\x32\
+\x32\x2d\x2e\x35\x2d\x2e\x35\x76\x2d\x35\x2e\x35\x68\x31\x2e\x35\
+\x63\x2e\x35\x35\x20\x30\x20\x31\x20\x2e\x34\x35\x20\x31\x20\x31\
+\x68\x2e\x35\x76\x2d\x32\x68\x2d\x38\x7a\x22\x20\x2f\x3e\x0a\x3c\
+\x2f\x67\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
+\x00\x00\x03\x03\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x30\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x43\
+\x68\x65\x63\x6b\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\
+\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\
+\x30\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\
+\x6c\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\
+\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\
+\x6e\x6b\x22\x20\x78\x3d\x22\x30\x70\x78\x22\x20\x79\x3d\x22\x30\
+\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\x3d\x22\x30\
+\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x65\x6e\x61\x62\x6c\x65\
+\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x3d\x22\x6e\x65\x77\
+\x20\x30\x20\x30\x20\x32\x30\x20\x32\x30\x22\x20\x78\x6d\x6c\x3a\
+\x73\x70\x61\x63\x65\x3d\x22\x70\x72\x65\x73\x65\x72\x76\x65\x22\
+\x3e\x0a\x3c\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x38\x2e\x32\x39\
+\x34\x2c\x31\x36\x2e\x39\x39\x38\x63\x2d\x30\x2e\x34\x33\x35\x2c\
+\x30\x2d\x30\x2e\x38\x34\x37\x2d\x30\x2e\x32\x30\x33\x2d\x31\x2e\
+\x31\x31\x31\x2d\x30\x2e\x35\x35\x33\x4c\x33\x2e\x36\x31\x2c\x31\
+\x31\x2e\x37\x32\x34\x63\x2d\x30\x2e\x34\x36\x35\x2d\x30\x2e\x36\
+\x31\x33\x2d\x30\x2e\x33\x34\x34\x2d\x31\x2e\x34\x38\x36\x2c\x30\
+\x2e\x32\x37\x2d\x31\x2e\x39\x35\x31\x0a\x09\x63\x30\x2e\x36\x31\
+\x35\x2d\x30\x2e\x34\x36\x37\x2c\x31\x2e\x34\x38\x38\x2d\x30\x2e\
+\x33\x34\x34\x2c\x31\x2e\x39\x35\x33\x2c\x30\x2e\x32\x37\x6c\x32\
+\x2e\x33\x35\x31\x2c\x33\x2e\x31\x30\x34\x6c\x35\x2e\x39\x31\x31\
+\x2d\x39\x2e\x34\x39\x32\x63\x30\x2e\x34\x30\x37\x2d\x30\x2e\x36\
+\x35\x32\x2c\x31\x2e\x32\x36\x37\x2d\x30\x2e\x38\x35\x32\x2c\x31\
+\x2e\x39\x32\x31\x2d\x30\x2e\x34\x34\x35\x0a\x09\x63\x30\x2e\x36\
+\x35\x33\x2c\x30\x2e\x34\x30\x36\x2c\x30\x2e\x38\x35\x34\x2c\x31\
+\x2e\x32\x36\x36\x2c\x30\x2e\x34\x34\x36\x2c\x31\x2e\x39\x32\x4c\
+\x39\x2e\x34\x37\x38\x2c\x31\x36\x2e\x33\x34\x63\x2d\x30\x2e\x32\
+\x34\x32\x2c\x30\x2e\x33\x39\x31\x2d\x30\x2e\x36\x36\x31\x2c\x30\
+\x2e\x36\x33\x35\x2d\x31\x2e\x31\x32\x2c\x30\x2e\x36\x35\x36\x43\
+\x38\x2e\x33\x33\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x33\
+\x31\x36\x2c\x31\x36\x2e\x39\x39\x38\x2c\x38\x2e\x32\x39\x34\x2c\
+\x31\x36\x2e\x39\x39\x38\x7a\x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\
+\x3e\x0a\
+\x00\x00\x02\x97\
+\x3c\
+\x3f\x78\x6d\x6c\x20\x76\x65\x72\x73\x69\x6f\x6e\x3d\x22\x31\x2e\
+\x30\x22\x20\x65\x6e\x63\x6f\x64\x69\x6e\x67\x3d\x22\x75\x74\x66\
+\x2d\x38\x22\x3f\x3e\x0a\x3c\x21\x2d\x2d\x20\x47\x65\x6e\x65\x72\
+\x61\x74\x6f\x72\x3a\x20\x41\x64\x6f\x62\x65\x20\x49\x6c\x6c\x75\
+\x73\x74\x72\x61\x74\x6f\x72\x20\x31\x38\x2e\x31\x2e\x31\x2c\x20\
+\x53\x56\x47\x20\x45\x78\x70\x6f\x72\x74\x20\x50\x6c\x75\x67\x2d\
+\x49\x6e\x20\x2e\x20\x53\x56\x47\x20\x56\x65\x72\x73\x69\x6f\x6e\
+\x3a\x20\x36\x2e\x30\x30\x20\x42\x75\x69\x6c\x64\x20\x30\x29\x20\
+\x20\x2d\x2d\x3e\x0a\x3c\x21\x44\x4f\x43\x54\x59\x50\x45\x20\x73\
+\x76\x67\x20\x50\x55\x42\x4c\x49\x43\x20\x22\x2d\x2f\x2f\x57\x33\
+\x43\x2f\x2f\x44\x54\x44\x20\x53\x56\x47\x20\x31\x2e\x31\x2f\x2f\
+\x45\x4e\x22\x20\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x47\x72\x61\x70\x68\x69\x63\x73\x2f\
+\x53\x56\x47\x2f\x31\x2e\x31\x2f\x44\x54\x44\x2f\x73\x76\x67\x31\
+\x31\x2e\x64\x74\x64\x22\x3e\x0a\x3c\x73\x76\x67\x20\x76\x65\x72\
+\x73\x69\x6f\x6e\x3d\x22\x31\x2e\x31\x22\x20\x69\x64\x3d\x22\x53\
+\x61\x76\x65\x22\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\
+\x3a\x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\
+\x30\x30\x2f\x73\x76\x67\x22\x20\x78\x6d\x6c\x6e\x73\x3a\x78\x6c\
+\x69\x6e\x6b\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\
+\x77\x33\x2e\x6f\x72\x67\x2f\x31\x39\x39\x39\x2f\x78\x6c\x69\x6e\
+\x6b\x22\x20\x78\x3d\x22\x35\x31\x32\x70\x78\x22\x20\x79\x3d\x22\
+\x35\x31\x32\x70\x78\x22\x0a\x09\x20\x76\x69\x65\x77\x42\x6f\x78\
+\x3d\x22\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\x32\x22\x20\x65\
+\x6e\x61\x62\x6c\x65\x2d\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\
+\x3d\x22\x6e\x65\x77\x20\x30\x20\x30\x20\x35\x31\x32\x20\x35\x31\
+\x32\x22\x20\x78\x6d\x6c\x3a\x73\x70\x61\x63\x65\x3d\x22\x70\x72\
+\x65\x73\x65\x72\x76\x65\x22\x3e\x0a\x3c\x67\x20\x74\x72\x61\x6e\
+\x73\x66\x6f\x72\x6d\x3d\x27\x6d\x61\x74\x72\x69\x78\x28\x32\x34\
+\x20\x30\x20\x30\x20\x32\x34\x20\x30\x20\x30\x29\x27\x3e\x0a\x3c\
+\x70\x61\x74\x68\x20\x64\x3d\x22\x4d\x31\x35\x2e\x31\x37\x33\x2c\
+\x32\x48\x34\x43\x32\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x2e\
+\x39\x2c\x32\x2c\x34\x76\x31\x32\x63\x30\x2c\x31\x2e\x31\x2c\x30\
+\x2e\x38\x39\x39\x2c\x32\x2c\x32\x2c\x32\x68\x31\x32\x63\x31\x2e\
+\x31\x30\x31\x2c\x30\x2c\x32\x2d\x30\x2e\x39\x2c\x32\x2d\x32\x56\
+\x35\x2e\x31\x32\x37\x4c\x31\x35\x2e\x31\x37\x33\x2c\x32\x7a\x20\
+\x4d\x31\x34\x2c\x38\x63\x30\x2c\x30\x2e\x35\x34\x39\x2d\x30\x2e\
+\x34\x35\x2c\x31\x2d\x31\x2c\x31\x48\x37\x0a\x09\x43\x36\x2e\x34\
+\x35\x2c\x39\x2c\x36\x2c\x38\x2e\x35\x34\x39\x2c\x36\x2c\x38\x56\
+\x33\x68\x38\x56\x38\x7a\x20\x4d\x31\x33\x2c\x34\x68\x2d\x32\x76\
+\x34\x68\x32\x56\x34\x7a\x22\x2f\x3e\x0a\x3c\x2f\x67\x3e\x0a\x3c\
+\x2f\x73\x76\x67\x3e\x0a\
"
qt_resource_name = b"\
@@ -2545,127 +2545,47 @@ qt_resource_name = b"\
\x00\x6f\xa6\x53\
\x00\x69\
\x00\x63\x00\x6f\x00\x6e\x00\x73\
-\x00\x1c\
-\x08\x8a\x79\x07\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
-\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x66\x00\x66\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x10\
-\x0c\x57\x65\x47\
+\x00\x12\
+\x08\x55\xef\xc7\
\x00\x61\
-\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x72\x00\x65\x00\x73\x00\x69\x00\x7a\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x65\x00\x6c\x00\x65\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
+\x00\x67\
+\x00\x09\
+\x0c\x9b\x89\xe7\
+\x00\x62\
+\x00\x72\x00\x75\x00\x73\x00\x68\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0a\
+\x0a\x2d\x1b\xc7\
+\x00\x63\
+\x00\x69\x00\x72\x00\x63\x00\x6c\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x10\
\x08\x89\xfa\x47\
\x00\x63\
\x00\x65\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x6f\x00\x72\x00\x69\x00\x67\x00\x69\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x05\xa8\x57\x87\
-\x00\x63\
-\x00\x6f\x00\x64\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x04\xb2\x55\x47\
-\x00\x75\
-\x00\x6e\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0f\
-\x09\x76\x60\xc7\
-\x00\x63\
-\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x2d\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x14\
-\x0f\xa5\xe0\xc7\
-\x00\x6d\
-\x00\x61\x00\x67\x00\x6e\x00\x69\x00\x66\x00\x79\x00\x69\x00\x6e\x00\x67\x00\x2d\x00\x67\x00\x6c\x00\x61\x00\x73\x00\x73\x00\x2e\
-\x00\x73\x00\x76\x00\x67\
-\x00\x11\
-\x0c\xa7\xc7\x47\
-\x00\x63\
-\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\
-\x00\x1d\
-\x06\xec\xf4\xc7\
-\x00\x63\
-\x00\x68\x00\x65\x00\x76\x00\x72\x00\x6f\x00\x6e\x00\x2d\x00\x77\x00\x69\x00\x74\x00\x68\x00\x2d\x00\x63\x00\x69\x00\x72\x00\x63\
-\x00\x6c\x00\x65\x00\x2d\x00\x72\x00\x69\x00\x67\x00\x68\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0f\
-\x04\xf2\xa7\x87\
-\x00\x63\
-\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x09\
-\x0b\x9e\x89\x07\
-\x00\x63\
-\x00\x68\x00\x65\x00\x63\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x16\
-\x01\xfb\x76\x27\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x62\x00\x61\x00\x63\
-\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x15\
\x0f\xc4\x59\xe7\
\x00\x73\
\x00\x75\x00\x62\x00\x64\x00\x69\x00\x72\x00\x65\x00\x63\x00\x74\x00\x6f\x00\x72\x00\x79\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\
\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x12\
-\x04\xb2\x21\x47\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x65\x00\x78\x00\x70\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\
-\x00\x67\
-\x00\x08\
-\x0c\xf7\x55\x87\
-\x00\x74\
-\x00\x65\x00\x78\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1c\
+\x04\x66\xe1\x67\
+\x00\x63\
+\x00\x68\x00\x65\x00\x76\x00\x72\x00\x6f\x00\x6e\x00\x2d\x00\x77\x00\x69\x00\x74\x00\x68\x00\x2d\x00\x63\x00\x69\x00\x72\x00\x63\
+\x00\x6c\x00\x65\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x12\
\x0c\x5e\xd4\xa7\
\x00\x61\
\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x6c\x00\x6f\x00\x63\x00\x61\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
\x00\x67\
-\x00\x19\
-\x0a\x43\x45\xc7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x66\x00\x6f\x00\x72\
-\x00\x77\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0f\
-\x07\x0e\xc4\x87\
-\x00\x6f\
-\x00\x70\x00\x65\x00\x6e\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x07\
-\x0c\xf8\x5a\x07\
-\x00\x65\
-\x00\x79\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x14\
+\x0f\xa5\xe0\xc7\
+\x00\x6d\
+\x00\x61\x00\x67\x00\x6e\x00\x69\x00\x66\x00\x79\x00\x69\x00\x6e\x00\x67\x00\x2d\x00\x67\x00\x6c\x00\x61\x00\x73\x00\x73\x00\x2e\
+\x00\x73\x00\x76\x00\x67\
\x00\x08\
-\x08\xc8\x55\xe7\
-\x00\x73\
-\x00\x61\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0a\
-\x0a\x2d\x1b\xc7\
-\x00\x63\
-\x00\x69\x00\x72\x00\x63\x00\x6c\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x12\
-\x08\x79\x97\xe7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x61\x00\x6d\x00\x65\x00\x72\x00\x61\x00\x2e\x00\x73\x00\x76\
+\x08\xf7\x57\x07\
\x00\x67\
-\x00\x1b\
-\x0e\xb5\x68\xe7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
-\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x0b\xb2\x55\xc7\
-\x00\x72\
-\x00\x65\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x11\
-\x01\x60\xbc\x47\
-\x00\x73\
-\x00\x6f\x00\x63\x00\x69\x00\x61\x00\x6c\x00\x2d\x00\x70\x00\x79\x00\x74\x00\x68\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
-\
-\x00\x19\
-\x0f\xef\x7b\xe7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x6f\x00\x6c\x00\x6f\x00\x72\x00\x2d\x00\x70\x00\x61\x00\x6c\
-\x00\x65\x00\x74\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x10\
-\x06\xe3\xaf\xe7\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x68\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x72\x00\x69\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x11\
\x0c\xdb\x38\xe7\
\x00\x61\
@@ -2676,119 +2596,199 @@ qt_resource_name = b"\
\x00\x61\
\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x65\x00\x66\x00\x72\x00\x65\x00\x73\x00\x68\x00\x2e\x00\x73\
\x00\x76\x00\x67\
-\x00\x0a\
-\x0f\x68\x53\xe7\
+\x00\x10\
+\x0c\x57\x65\x47\
\x00\x61\
-\x00\x6e\x00\x63\x00\x68\x00\x6f\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x72\x00\x65\x00\x73\x00\x69\x00\x7a\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x10\
+\x08\xe4\xaf\x47\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x6f\x00\x6e\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x11\
+\x0c\xa7\xc7\x47\
+\x00\x63\
+\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
+\x00\x12\
+\x08\x79\x97\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x61\x00\x6d\x00\x65\x00\x72\x00\x61\x00\x2e\x00\x73\x00\x76\
+\x00\x67\
\x00\x0e\
\x05\xed\x38\x67\
\x00\x61\
\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x6d\x00\x6f\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x10\
-\x04\xa9\x22\xc7\
-\x00\x66\
-\x00\x69\x00\x6c\x00\x6c\x00\x65\x00\x64\x00\x62\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x08\xf7\x57\x07\
-\x00\x67\
-\x00\x72\x00\x69\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1c\
+\x08\x8a\x79\x07\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
+\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x66\x00\x66\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x12\
-\x08\x55\xef\xc7\
+\x04\xb2\x21\x47\
\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x65\x00\x6c\x00\x65\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x65\x00\x78\x00\x70\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\
\x00\x67\
\x00\x0a\
+\x01\xca\x6d\x87\
+\x00\x62\
+\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0a\
\x0a\xc8\x62\x67\
\x00\x63\
\x00\x65\x00\x6e\x00\x74\x00\x65\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x08\
-\x0b\x07\x57\xa7\
-\x00\x65\
-\x00\x64\x00\x69\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x17\
-\x07\x87\x48\x27\
-\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x66\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6f\x00\x70\
-\x00\x65\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x11\
+\x01\x60\xbc\x47\
+\x00\x73\
+\x00\x6f\x00\x63\x00\x69\x00\x61\x00\x6c\x00\x2d\x00\x70\x00\x79\x00\x74\x00\x68\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\
\x00\x10\
-\x08\xe4\xaf\x47\
+\x06\xe3\xaf\xe7\
\x00\x61\
-\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x64\x00\x6f\x00\x6e\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x1c\
-\x04\x66\xe1\x67\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x68\x00\x61\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x16\
+\x01\xfb\x76\x27\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x62\x00\x61\x00\x63\
+\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x05\xa8\x57\x87\
+\x00\x63\
+\x00\x6f\x00\x64\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x19\
+\x0f\xef\x7b\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x63\x00\x6f\x00\x6c\x00\x6f\x00\x72\x00\x2d\x00\x70\x00\x61\x00\x6c\
+\x00\x65\x00\x74\x00\x74\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1d\
+\x06\xec\xf4\xc7\
\x00\x63\
\x00\x68\x00\x65\x00\x76\x00\x72\x00\x6f\x00\x6e\x00\x2d\x00\x77\x00\x69\x00\x74\x00\x68\x00\x2d\x00\x63\x00\x69\x00\x72\x00\x63\
-\x00\x6c\x00\x65\x00\x2d\x00\x6c\x00\x65\x00\x66\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x09\
-\x0c\x9b\x89\xe7\
-\x00\x62\
-\x00\x72\x00\x75\x00\x73\x00\x68\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x6c\x00\x65\x00\x2d\x00\x72\x00\x69\x00\x67\x00\x68\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x0b\xb2\x55\xc7\
+\x00\x72\
+\x00\x65\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x04\xb2\x55\x47\
+\x00\x75\
+\x00\x6e\x00\x64\x00\x6f\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x0d\
\x05\x20\xce\x87\
\x00\x6f\
\x00\x70\x00\x65\x00\x6e\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x17\
+\x07\x87\x48\x27\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x66\x00\x6f\x00\x6c\x00\x64\x00\x65\x00\x72\x00\x2d\x00\x6f\x00\x70\
+\x00\x65\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0f\
+\x09\x76\x60\xc7\
+\x00\x63\
+\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x2d\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x19\
+\x0a\x43\x45\xc7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x61\x00\x72\x00\x72\x00\x6f\x00\x77\x00\x2d\x00\x66\x00\x6f\x00\x72\
+\x00\x77\x00\x61\x00\x72\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0a\
+\x0f\x68\x53\xe7\
+\x00\x61\
+\x00\x6e\x00\x63\x00\x68\x00\x6f\x00\x72\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x17\
\x06\xc6\x02\xa7\
\x00\x74\
\x00\x72\x00\x69\x00\x61\x00\x6e\x00\x67\x00\x6c\x00\x65\x00\x2d\x00\x73\x00\x74\x00\x72\x00\x6f\x00\x6b\x00\x65\x00\x64\x00\x2d\
\x00\x31\x00\x35\x00\x2e\x00\x73\x00\x76\x00\x67\
-\x00\x0a\
-\x01\xca\x6d\x87\
-\x00\x62\
-\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x10\
+\x04\xa9\x22\xc7\
+\x00\x66\
+\x00\x69\x00\x6c\x00\x6c\x00\x65\x00\x64\x00\x62\x00\x75\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x1b\
+\x0e\xb5\x68\xe7\
+\x00\x61\
+\x00\x6e\x00\x64\x00\x72\x00\x6f\x00\x69\x00\x64\x00\x2d\x00\x72\x00\x61\x00\x64\x00\x69\x00\x6f\x00\x2d\x00\x62\x00\x75\x00\x74\
+\x00\x74\x00\x6f\x00\x6e\x00\x2d\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x07\
+\x0c\xf8\x5a\x07\
+\x00\x65\
+\x00\x79\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x0b\x07\x57\xa7\
+\x00\x65\
+\x00\x64\x00\x69\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0f\
+\x07\x0e\xc4\x87\
+\x00\x6f\
+\x00\x70\x00\x65\x00\x6e\x00\x70\x00\x6f\x00\x6c\x00\x79\x00\x67\x00\x6f\x00\x6e\x00\x2e\x00\x73\x00\x76\x00\x67\
\x00\x0e\
\x0f\xcb\xd5\xc7\
\x00\x70\
\x00\x6c\x00\x75\x00\x73\x00\x2d\x00\x72\x00\x6f\x00\x75\x00\x6e\x00\x64\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x0f\
+\x04\xf2\xa7\x87\
+\x00\x63\
+\x00\x6c\x00\x6f\x00\x73\x00\x65\x00\x64\x00\x63\x00\x75\x00\x72\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x0c\xf7\x55\x87\
+\x00\x74\
+\x00\x65\x00\x78\x00\x74\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x09\
+\x0b\x9e\x89\x07\
+\x00\x63\
+\x00\x68\x00\x65\x00\x63\x00\x6b\x00\x2e\x00\x73\x00\x76\x00\x67\
+\x00\x08\
+\x08\xc8\x55\xe7\
+\x00\x73\
+\x00\x61\x00\x76\x00\x65\x00\x2e\x00\x73\x00\x76\x00\x67\
"
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x2c\x00\x00\x00\x02\
-\x00\x00\x03\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x4e\xfb\
-\x00\x00\x06\x54\x00\x00\x00\x00\x00\x01\x00\x00\x8f\x67\
-\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x28\xd9\
-\x00\x00\x04\x52\x00\x00\x00\x00\x00\x01\x00\x00\x63\xf2\
-\x00\x00\x05\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x7e\x58\
-\x00\x00\x04\xba\x00\x01\x00\x00\x00\x01\x00\x00\x6b\x43\
-\x00\x00\x02\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x2b\xbf\
-\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x0e\x11\
-\x00\x00\x01\x80\x00\x00\x00\x00\x00\x01\x00\x00\x21\x2b\
-\x00\x00\x06\x00\x00\x00\x00\x00\x00\x01\x00\x00\x86\x22\
-\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x09\x71\
-\x00\x00\x04\x98\x00\x00\x00\x00\x00\x01\x00\x00\x68\x7e\
-\x00\x00\x06\x20\x00\x00\x00\x00\x00\x01\x00\x00\x8a\x99\
-\x00\x00\x04\x04\x00\x00\x00\x00\x00\x01\x00\x00\x5b\x84\
-\x00\x00\x01\x40\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x4e\
-\x00\x00\x02\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x36\xdb\
-\x00\x00\x05\x50\x00\x00\x00\x00\x00\x01\x00\x00\x78\x9c\
-\x00\x00\x04\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x6f\x3f\
-\x00\x00\x03\x28\x00\x00\x00\x00\x00\x01\x00\x00\x44\x58\
-\x00\x00\x00\x74\x00\x00\x00\x00\x00\x01\x00\x00\x05\x6f\
+\x00\x00\x03\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x3f\x90\
+\x00\x00\x02\xea\x00\x00\x00\x00\x00\x01\x00\x00\x36\x92\
+\x00\x00\x03\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x4c\xbe\
+\x00\x00\x01\x96\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x61\
+\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x0d\xd7\
+\x00\x00\x05\x56\x00\x01\x00\x00\x00\x01\x00\x00\x78\xe1\
+\x00\x00\x02\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x33\x64\
+\x00\x00\x04\x42\x00\x00\x00\x00\x00\x01\x00\x00\x61\x11\
+\x00\x00\x06\x28\x00\x00\x00\x00\x00\x01\x00\x00\x8c\x90\
+\x00\x00\x04\x58\x00\x00\x00\x00\x00\x01\x00\x00\x65\x2c\
+\x00\x00\x03\x9e\x00\x00\x00\x00\x00\x01\x00\x00\x4f\x34\
+\x00\x00\x02\x60\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xab\
+\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\x74\x13\
+\x00\x00\x03\x46\x00\x00\x00\x00\x00\x01\x00\x00\x46\xff\
+\x00\x00\x03\xec\x00\x00\x00\x00\x00\x01\x00\x00\x58\xee\
+\x00\x00\x05\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x85\x87\
+\x00\x00\x04\x78\x00\x00\x00\x00\x00\x01\x00\x00\x69\xa3\
\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x02\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x3e\xd2\
-\x00\x00\x05\x84\x00\x00\x00\x00\x00\x01\x00\x00\x7b\xe8\
-\x00\x00\x04\xe0\x00\x01\x00\x00\x00\x01\x00\x00\x6d\x63\
-\x00\x00\x00\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x12\x2c\
-\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x41\x6d\
-\x00\x00\x02\x88\x00\x00\x00\x00\x00\x01\x00\x00\x34\x65\
-\x00\x00\x05\x20\x00\x00\x00\x00\x00\x01\x00\x00\x71\xdb\
-\x00\x00\x05\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x75\x39\
-\x00\x00\x01\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x25\xd2\
-\x00\x00\x03\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x4a\xb5\
-\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\xf4\
-\x00\x00\x02\x5e\x00\x00\x00\x00\x00\x01\x00\x00\x30\x0d\
-\x00\x00\x05\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x82\x44\
-\x00\x00\x01\x18\x00\x00\x00\x00\x00\x01\x00\x00\x19\x28\
-\x00\x00\x04\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x61\x43\
-\x00\x00\x02\x48\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xed\
-\x00\x00\x02\xe4\x00\x00\x00\x00\x00\x01\x00\x00\x3a\xf2\
-\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x47\x72\
-\x00\x00\x04\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x67\x11\
-\x00\x00\x00\xea\x00\x00\x00\x00\x00\x01\x00\x00\x15\x6d\
-\x00\x00\x01\xee\x00\x00\x00\x00\x00\x01\x00\x00\x2b\x4f\
-\x00\x00\x06\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x95\x07\
-\x00\x00\x03\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x56\x6a\
+\x00\x00\x02\x36\x00\x00\x00\x00\x00\x01\x00\x00\x2a\x91\
+\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x09\x65\
+\x00\x00\x02\x82\x00\x00\x00\x00\x00\x01\x00\x00\x30\x70\
+\x00\x00\x06\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x95\x5e\
+\x00\x00\x01\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x23\xfb\
+\x00\x00\x01\x58\x00\x01\x00\x00\x00\x01\x00\x00\x19\xd6\
+\x00\x00\x04\xac\x00\x00\x00\x00\x00\x01\x00\x00\x6c\xef\
+\x00\x00\x00\x52\x00\x00\x00\x00\x00\x01\x00\x00\x06\x7a\
+\x00\x00\x04\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x70\x30\
+\x00\x00\x03\x04\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x32\
+\x00\x00\x05\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x82\x24\
+\x00\x00\x06\x62\x00\x00\x00\x00\x00\x01\x00\x00\x92\x57\
+\x00\x00\x04\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xcb\
+\x00\x00\x01\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x21\x80\
+\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x11\xc3\
+\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x02\x9c\
+\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x26\x6b\
+\x00\x00\x01\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xb2\
+\x00\x00\x06\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x91\x37\
+\x00\x00\x05\xb8\x00\x00\x00\x00\x00\x01\x00\x00\x7e\x44\
+\x00\x00\x05\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x7b\x01\
+\x00\x00\x05\x08\x00\x00\x00\x00\x00\x01\x00\x00\x72\xa6\
+\x00\x00\x01\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x16\x1b\
+\x00\x00\x00\x92\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x67\
+\x00\x00\x06\x06\x00\x00\x00\x00\x00\x01\x00\x00\x89\x9e\
+\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x53\xd4\
"
qt_resource_struct_v2 = b"\
@@ -2796,94 +2796,94 @@ qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x2c\x00\x00\x00\x02\
\x00\x00\x00\x00\x00\x00\x00\x00\
-\x00\x00\x03\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x4e\xfb\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x06\x54\x00\x00\x00\x00\x00\x01\x00\x00\x8f\x67\
-\x00\x00\x01\x86\x34\x85\x88\xf6\
-\x00\x00\x01\xbc\x00\x00\x00\x00\x00\x01\x00\x00\x28\xd9\
-\x00\x00\x01\x86\x34\x85\x88\xf4\
-\x00\x00\x04\x52\x00\x00\x00\x00\x00\x01\x00\x00\x63\xf2\
-\x00\x00\x01\x86\x34\x85\x88\xf6\
-\x00\x00\x05\xaa\x00\x00\x00\x00\x00\x01\x00\x00\x7e\x58\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x04\xba\x00\x01\x00\x00\x00\x01\x00\x00\x6b\x43\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x02\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x2b\xbf\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x00\xb0\x00\x00\x00\x00\x00\x01\x00\x00\x0e\x11\
-\x00\x00\x01\x86\x34\x85\x88\xf9\
-\x00\x00\x01\x80\x00\x00\x00\x00\x00\x01\x00\x00\x21\x2b\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x06\x00\x00\x00\x00\x00\x00\x01\x00\x00\x86\x22\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x01\x00\x00\x09\x71\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x04\x98\x00\x00\x00\x00\x00\x01\x00\x00\x68\x7e\
-\x00\x00\x01\x86\x34\x85\x88\xf6\
-\x00\x00\x06\x20\x00\x00\x00\x00\x00\x01\x00\x00\x8a\x99\
-\x00\x00\x01\x86\x34\x85\x88\xf9\
-\x00\x00\x04\x04\x00\x00\x00\x00\x00\x01\x00\x00\x5b\x84\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x01\x40\x00\x00\x00\x00\x00\x01\x00\x00\x1d\x4e\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x02\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x36\xdb\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x05\x50\x00\x00\x00\x00\x00\x01\x00\x00\x78\x9c\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x04\xf6\x00\x00\x00\x00\x00\x01\x00\x00\x6f\x3f\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x03\x28\x00\x00\x00\x00\x00\x01\x00\x00\x44\x58\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x00\x74\x00\x00\x00\x00\x00\x01\x00\x00\x05\x6f\
-\x00\x00\x01\x86\x34\x85\x88\xf6\
+\x00\x00\x03\x1e\x00\x00\x00\x00\x00\x01\x00\x00\x3f\x90\
+\x00\x00\x01\x88\x93\x94\xc0\x99\
+\x00\x00\x02\xea\x00\x00\x00\x00\x00\x01\x00\x00\x36\x92\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x03\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x4c\xbe\
+\x00\x00\x01\x88\x93\x94\xc0\x96\
+\x00\x00\x01\x96\x00\x00\x00\x00\x00\x01\x00\x00\x1e\x61\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x00\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x0d\xd7\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x05\x56\x00\x01\x00\x00\x00\x01\x00\x00\x78\xe1\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x02\xc0\x00\x00\x00\x00\x00\x01\x00\x00\x33\x64\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x04\x42\x00\x00\x00\x00\x00\x01\x00\x00\x61\x11\
+\x00\x00\x01\x88\x93\x94\xc0\x99\
+\x00\x00\x06\x28\x00\x00\x00\x00\x00\x01\x00\x00\x8c\x90\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x04\x58\x00\x00\x00\x00\x00\x01\x00\x00\x65\x2c\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x03\x9e\x00\x00\x00\x00\x00\x01\x00\x00\x4f\x34\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x02\x60\x00\x00\x00\x00\x00\x01\x00\x00\x2d\xab\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x05\x22\x00\x00\x00\x00\x00\x01\x00\x00\x74\x13\
+\x00\x00\x01\x88\x93\x94\xc0\x99\
+\x00\x00\x03\x46\x00\x00\x00\x00\x00\x01\x00\x00\x46\xff\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x03\xec\x00\x00\x00\x00\x00\x01\x00\x00\x58\xee\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x05\xe2\x00\x00\x00\x00\x00\x01\x00\x00\x85\x87\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x04\x78\x00\x00\x00\x00\x00\x01\x00\x00\x69\xa3\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
\x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x02\xf8\x00\x00\x00\x00\x00\x01\x00\x00\x3e\xd2\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x05\x84\x00\x00\x00\x00\x00\x01\x00\x00\x7b\xe8\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x04\xe0\x00\x01\x00\x00\x00\x01\x00\x00\x6d\x63\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x00\xc6\x00\x00\x00\x00\x00\x01\x00\x00\x12\x2c\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x03\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x41\x6d\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x02\x88\x00\x00\x00\x00\x00\x01\x00\x00\x34\x65\
-\x00\x00\x01\x86\x34\x85\x88\xf4\
-\x00\x00\x05\x20\x00\x00\x00\x00\x00\x01\x00\x00\x71\xdb\
-\x00\x00\x01\x86\x34\x85\x88\xf6\
-\x00\x00\x05\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x75\x39\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x01\xa4\x00\x00\x00\x00\x00\x01\x00\x00\x25\xd2\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x03\x8e\x00\x00\x00\x00\x00\x01\x00\x00\x4a\xb5\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\xf4\
-\x00\x00\x01\x86\x34\x85\x88\xf6\
-\x00\x00\x02\x5e\x00\x00\x00\x00\x00\x01\x00\x00\x30\x0d\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x05\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x82\x44\
-\x00\x00\x01\x86\x34\x85\x88\xf6\
-\x00\x00\x01\x18\x00\x00\x00\x00\x00\x01\x00\x00\x19\x28\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x04\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x61\x43\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
-\x00\x00\x02\x48\x00\x00\x00\x00\x00\x01\x00\x00\x2e\xed\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x02\xe4\x00\x00\x00\x00\x00\x01\x00\x00\x3a\xf2\
-\x00\x00\x01\x86\x34\x85\x88\xf7\
-\x00\x00\x03\x52\x00\x00\x00\x00\x00\x01\x00\x00\x47\x72\
-\x00\x00\x01\x86\x34\x85\x88\xf6\
-\x00\x00\x04\x7e\x00\x00\x00\x00\x00\x01\x00\x00\x67\x11\
-\x00\x00\x01\x86\x34\x85\x88\xf4\
-\x00\x00\x00\xea\x00\x00\x00\x00\x00\x01\x00\x00\x15\x6d\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x01\xee\x00\x00\x00\x00\x00\x01\x00\x00\x2b\x4f\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x06\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x95\x07\
-\x00\x00\x01\x86\x34\x85\x88\xf8\
-\x00\x00\x03\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x56\x6a\
-\x00\x00\x01\x86\x34\x85\x88\xf5\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x02\x36\x00\x00\x00\x00\x00\x01\x00\x00\x2a\x91\
+\x00\x00\x01\x88\x93\x94\xc0\x96\
+\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x01\x00\x00\x09\x65\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x02\x82\x00\x00\x00\x00\x00\x01\x00\x00\x30\x70\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x06\x7a\x00\x00\x00\x00\x00\x01\x00\x00\x95\x5e\
+\x00\x00\x01\x88\x93\x94\xc0\x99\
+\x00\x00\x01\xe8\x00\x00\x00\x00\x00\x01\x00\x00\x23\xfb\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x01\x58\x00\x01\x00\x00\x00\x01\x00\x00\x19\xd6\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x04\xac\x00\x00\x00\x00\x00\x01\x00\x00\x6c\xef\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x00\x52\x00\x00\x00\x00\x00\x01\x00\x00\x06\x7a\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x04\xd0\x00\x00\x00\x00\x00\x01\x00\x00\x70\x30\
+\x00\x00\x01\x88\x93\x94\xc0\x96\
+\x00\x00\x03\x04\x00\x00\x00\x00\x00\x01\x00\x00\x3c\x32\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x05\xcc\x00\x00\x00\x00\x00\x01\x00\x00\x82\x24\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x06\x62\x00\x00\x00\x00\x00\x01\x00\x00\x92\x57\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x04\x2c\x00\x00\x00\x00\x00\x01\x00\x00\x5c\xcb\
+\x00\x00\x01\x88\x93\x94\xc0\x99\
+\x00\x00\x01\xc2\x00\x00\x00\x00\x00\x01\x00\x00\x21\x80\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x01\x00\x00\x00\x00\x00\x00\x01\x00\x00\x11\xc3\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x00\x3a\x00\x00\x00\x00\x00\x01\x00\x00\x02\x9c\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x02\x0e\x00\x00\x00\x00\x00\x01\x00\x00\x26\x6b\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x01\x6e\x00\x00\x00\x00\x00\x01\x00\x00\x1b\xb2\
+\x00\x00\x01\x88\x93\x94\xc0\x96\
+\x00\x00\x06\x4c\x00\x00\x00\x00\x00\x01\x00\x00\x91\x37\
+\x00\x00\x01\x88\x93\x94\xc0\x99\
+\x00\x00\x05\xb8\x00\x00\x00\x00\x00\x01\x00\x00\x7e\x44\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x05\x7c\x00\x00\x00\x00\x00\x01\x00\x00\x7b\x01\
+\x00\x00\x01\x88\x93\x94\xc0\x97\
+\x00\x00\x05\x08\x00\x00\x00\x00\x00\x01\x00\x00\x72\xa6\
+\x00\x00\x01\x88\x93\x94\xc0\x96\
+\x00\x00\x01\x2a\x00\x00\x00\x00\x00\x01\x00\x00\x16\x1b\
+\x00\x00\x01\x88\x93\x94\xc0\x98\
+\x00\x00\x00\x92\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x67\
+\x00\x00\x01\x88\x93\x94\xc0\x99\
+\x00\x00\x06\x06\x00\x00\x00\x00\x00\x01\x00\x00\x89\x9e\
+\x00\x00\x01\x88\x93\x94\xc0\x99\
+\x00\x00\x03\xb4\x00\x00\x00\x00\x00\x01\x00\x00\x53\xd4\
+\x00\x00\x01\x88\x93\x94\xc0\x96\
"
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
diff --git a/graphics/asymptote/GUI/pyUIClass/custMatTransform.py b/graphics/asymptote/GUI/pyUIClass/custMatTransform.py
index 8fa36cbc94..19e1e2e587 100644
--- a/graphics/asymptote/GUI/pyUIClass/custMatTransform.py
+++ b/graphics/asymptote/GUI/pyUIClass/custMatTransform.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/custMatTransform.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/graphics/asymptote/GUI/pyUIClass/labelTextEditor.py b/graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
index afbf7ea85b..8b7016dadc 100644
--- a/graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
+++ b/graphics/asymptote/GUI/pyUIClass/labelTextEditor.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/labelTextEditor.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py b/graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
index 502f6573ab..d513f96d8f 100644
--- a/graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
+++ b/graphics/asymptote/GUI/pyUIClass/setCustomAnchor.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/setCustomAnchor.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/graphics/asymptote/GUI/pyUIClass/widg_addLabel.py b/graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
index 2199d887d6..df22e1c7ed 100644
--- a/graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
+++ b/graphics/asymptote/GUI/pyUIClass/widg_addLabel.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/widg_addLabel.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py b/graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
index 2c58c5f2d1..c9ad76a8de 100644
--- a/graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+++ b/graphics/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/widg_addPolyOpt.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/graphics/asymptote/GUI/pyUIClass/widg_editBezier.py b/graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
index f4c5e5ba78..ccad74fd01 100644
--- a/graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
+++ b/graphics/asymptote/GUI/pyUIClass/widg_editBezier.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/widg_editBezier.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py b/graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
index 53702920c0..b3f94b07fb 100644
--- a/graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
+++ b/graphics/asymptote/GUI/pyUIClass/widgetPointEditor.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/widgetPointEditor.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/graphics/asymptote/GUI/pyUIClass/window1.py b/graphics/asymptote/GUI/pyUIClass/window1.py
index 457a67a600..5887ebb2bf 100644
--- a/graphics/asymptote/GUI/pyUIClass/window1.py
+++ b/graphics/asymptote/GUI/pyUIClass/window1.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/window1.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.9
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/graphics/asymptote/LspCpp/CMakeLists.txt b/graphics/asymptote/LspCpp/CMakeLists.txt
index fe35bfcb8c..8def30abce 100644
--- a/graphics/asymptote/LspCpp/CMakeLists.txt
+++ b/graphics/asymptote/LspCpp/CMakeLists.txt
@@ -38,6 +38,7 @@ option_if_not_defined(USE_SYSTEM_RAPIDJSON "Use system RapidJSON instead of the
option_if_not_defined(LSPCPP_WARNINGS_AS_ERRORS "Treat warnings as errors" OFF)
option_if_not_defined(LSPCPP_BUILD_EXAMPLES "Build example applications" OFF)
option_if_not_defined(LSPCPP_BUILD_FUZZER "Build fuzzer" OFF)
+option_if_not_defined(LSPCPP_BUILD_WEBSOCKETS "Build websocket server" ON)
option_if_not_defined(LSPCPP_ASAN "Build lsp with address sanitizer" OFF)
option_if_not_defined(LSPCPP_MSAN "Build lsp with memory sanitizer" OFF)
option_if_not_defined(LSPCPP_TSAN "Build lsp with thread sanitizer" OFF)
@@ -241,7 +242,7 @@ foreach(include_dir ${LSPCPP_THIRD_PARTY_DIR_LIST})
endforeach()
### Sources
-set(LSPCPP_LIST
+set(JSONRPC_LIST
src/jsonrpc/Context.cpp
src/jsonrpc/Endpoint.cpp
src/jsonrpc/GCThreadContext.cpp
@@ -252,8 +253,8 @@ set(LSPCPP_LIST
src/jsonrpc/StreamMessageProducer.cpp
src/jsonrpc/TcpServer.cpp
src/jsonrpc/threaded_queue.cpp
- src/jsonrpc/WebSocketServer.cpp
-
+)
+set(LSPCPP_LIST
src/lsp/initialize.cpp
src/lsp/lsp.cpp
src/lsp/lsp_diagnostic.cpp
@@ -265,7 +266,15 @@ set(LSPCPP_LIST
src/lsp/working_files.cpp
)
+if(LSPCPP_BUILD_WEBSOCKETS)
+ set(JSONRPC_LIST
+ ${JSONRPC_LIST}
+ src/jsonrpc/WebSocketServer.cpp
+ )
+endif()
+
target_sources(lspcpp PRIVATE
+ ${JSONRPC_LIST}
${LSPCPP_LIST})
### Compile options
diff --git a/graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp b/graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
index 1c75974912..7683808ab4 100644
--- a/graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
+++ b/graphics/asymptote/LspCpp/examples/StdIOClientExample.cpp
@@ -22,6 +22,7 @@
#include <boost/asio.hpp>
#include <iostream>
+#include <thread>
using namespace boost::asio::ip;
using namespace std;
diff --git a/graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp b/graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
index 028283ab8d..8b2d2b2d29 100644
--- a/graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
+++ b/graphics/asymptote/LspCpp/examples/StdIOServerExample.cpp
@@ -20,6 +20,8 @@
#include <boost/filesystem.hpp>
#include <boost/asio.hpp>
#include <iostream>
+#include <thread>
+
using namespace boost::asio::ip;
using namespace std;
class DummyLog :public lsp::Log
diff --git a/graphics/asymptote/LspCpp/examples/TcpServerExample.cpp b/graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
index 42ed73407e..37a4266c94 100644
--- a/graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
+++ b/graphics/asymptote/LspCpp/examples/TcpServerExample.cpp
@@ -19,6 +19,8 @@
#include <boost/filesystem.hpp>
#include <boost/asio.hpp>
#include <iostream>
+#include <thread>
+
using namespace boost::asio::ip;
using namespace std;
class DummyLog :public lsp::Log
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/optionalVersion.h b/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/optionalVersion.h
new file mode 100644
index 0000000000..f767b18f90
--- /dev/null
+++ b/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/optionalVersion.h
@@ -0,0 +1,13 @@
+#ifndef boost
+#if __cplusplus < 201703L
+
+#include <boost/optional.hpp>
+using boost::optional;
+
+#else
+
+#include <optional>
+using std::optional;
+
+#endif
+#endif
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h b/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
index 477c822845..1763c84f5f 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/serializer.h
@@ -1,11 +1,6 @@
#pragma once
#include "macro_map.h"
-#ifdef boost
-#include "optional.hpp"
-#else
-#include <boost/optional.hpp>
-#endif
#include <cassert>
#include <memory>
@@ -16,6 +11,7 @@
#include <map>
#include <algorithm>
+#include "optionalVersion.h"
struct AbsolutePath;
@@ -205,9 +201,8 @@ void Reflect(Reader& visitor, SerializeFormat& value);
void Reflect(Writer& visitor, SerializeFormat& value);
//// Type constructors
-
template <typename T>
-void Reflect(Reader& visitor, boost::optional<T>& value) {
+void Reflect(Reader& visitor, optional<T>& value) {
if (visitor.IsNull()) {
visitor.GetNull();
return;
@@ -217,7 +212,7 @@ void Reflect(Reader& visitor, boost::optional<T>& value) {
value = std::move(real_value);
}
template <typename T>
-void Reflect(Writer& visitor, boost::optional<T>& value) {
+void Reflect(Writer& visitor, optional<T>& value) {
if (value)
Reflect(visitor, *value);
else
@@ -226,7 +221,7 @@ void Reflect(Writer& visitor, boost::optional<T>& value) {
template <typename T>
-void ReflectMember(Writer& visitor, const char* name, boost::optional<T>& value) {
+void ReflectMember(Writer& visitor, const char* name, optional<T>& value) {
// For TypeScript optional property key?: value in the spec,
// We omit both key and value if value is std::nullopt (null) for JsonWriter
// to reduce output. But keep it for other serialization formats.
@@ -237,7 +232,6 @@ void ReflectMember(Writer& visitor, const char* name, boost::optional<T>& value)
}
-
template <typename T>
void ReflectMember(Writer& visitor,
const char* name,
@@ -329,7 +323,7 @@ void ReflectMember(Writer& visitor, const char* name, T& value) {
}
template<class _Ty1, class _Ty2>
-void Reflect(Writer& visitor, std::pair< boost::optional<_Ty1>, boost::optional<_Ty2> >& value)
+void Reflect(Writer& visitor, std::pair< optional<_Ty1>, optional<_Ty2> >& value)
{
if (value.first)
{
@@ -341,7 +335,7 @@ void Reflect(Writer& visitor, std::pair< boost::optional<_Ty1>, boost::optional
}
}
template<class _Ty2>
-void Reflect(Reader& visitor, std::pair< boost::optional<bool>, boost::optional<_Ty2> >& value)
+void Reflect(Reader& visitor, std::pair< optional<bool>, optional<_Ty2> >& value)
{
if(visitor.IsBool())
{
@@ -352,7 +346,7 @@ void Reflect(Reader& visitor, std::pair< boost::optional<bool>, boost::optional
Reflect(visitor, value.second);
}
template<class _Ty2>
-void Reflect(Reader& visitor, std::pair< boost::optional<std::string>, boost::optional<_Ty2> >& value)
+void Reflect(Reader& visitor, std::pair< optional<std::string>, optional<_Ty2> >& value)
{
if (visitor.IsString())
{
@@ -365,7 +359,7 @@ void Reflect(Reader& visitor, std::pair< boost::optional<std::string>, boost::o
template<class _Ty1, class _Ty2>
-void Reflect(Reader& visitor, std::pair< boost::optional<_Ty1>, boost::optional<_Ty2> >& value)
+void Reflect(Reader& visitor, std::pair< optional<_Ty1>, optional<_Ty2> >& value)
{
try
{
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h b/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
index 3e1ba547ca..e8fc6d13ea 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/JsonRpc/threaded_queue.h
@@ -1,6 +1,6 @@
#pragma once
-#include <boost/optional/optional.hpp>
+#include <optional>
#include <algorithm>
#include <atomic>
#include <condition_variable>
@@ -11,6 +11,7 @@
#include <utility>
#include <vector>
+#include "optionalVersion.h"
struct MultiQueueWaiter;
@@ -156,7 +157,7 @@ struct ThreadedQueue : public BaseThreadQueue {
// Get the first element from the queue without blocking. Returns a null
// value if the queue is empty.
- boost::optional<T> TryDequeue(bool priority) {
+ optional<T> TryDequeue(bool priority) {
std::lock_guard<std::mutex> lock(mutex);
auto pop = [&](std::deque<T>* q) {
@@ -167,7 +168,7 @@ struct ThreadedQueue : public BaseThreadQueue {
};
auto get_result = [&](std::deque<T>* first,
- std::deque<T>* second) -> boost::optional<T> {
+ std::deque<T>* second) -> optional<T> {
if (!first->empty())
return pop(first);
if (!second->empty())
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
index 29ab82b1c6..26afc484b6 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/ClientPreferences.h
@@ -79,14 +79,14 @@ public:
return v3supported && isDynamicRegistrationSupported(textDocument.signatureHelp);
}
template<typename T>
- static bool isDynamicRegistrationSupported(boost::optional<T>& capability)
+ static bool isDynamicRegistrationSupported(optional<T>& capability)
{
if(capability)
return (capability.value().dynamicRegistration.value());
return false;
}
- bool isTrue(const boost::optional<bool>& value)
+ bool isTrue(const optional<bool>& value)
{
return value.get_value_or(false);
}
@@ -282,8 +282,8 @@ public:
return false;
}
- bool isTagSupported(const boost::optional < std::pair<boost::optional<bool>,
- boost::optional<DiagnosticsTagSupport> > >& tagSupport) {
+ bool isTagSupported(const optional < std::pair<optional<bool>,
+ optional<DiagnosticsTagSupport> > >& tagSupport) {
if(tagSupport)
{
auto &v = tagSupport.value();
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
index 1704dd33c6..6c30ce82da 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/CodeActionParams.h
@@ -77,7 +77,7 @@ struct lsCodeActionContext {
*
* See {@link CodeActionKind} for allowed values.
*/
- boost::optional<std::vector<std::string>> only;
+ optional<std::vector<std::string>> only;
MAKE_SWAP_METHOD(lsCodeActionContext,
diagnostics, only);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
index 5ad4e07d8d..bb73d8a46f 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/ExecuteCommandParams.h
@@ -13,7 +13,7 @@ struct ExecuteCommandParams {
* The arguments are typically specified when a command is returned from the server to the client.
* Example requests that return a command are textDocument/codeAction or textDocument/codeLens.
*/
- boost::optional<std::vector<lsp::Any>> arguments;
+ optional<std::vector<lsp::Any>> arguments;
MAKE_SWAP_METHOD(ExecuteCommandParams, command, arguments);
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
index ea60205900..3d317a8153 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/ResourceOperation.h
@@ -18,12 +18,12 @@ struct CreateFileOptions{
/**
* Overwrite existing file. Overwrite wins over `ignoreIfExists`
*/
- boost::optional<bool> overwrite = false;
+ optional<bool> overwrite = false;
/**
* Ignore if exists.
*/
- boost::optional< bool> ignoreIfExists =false;
+ optional< bool> ignoreIfExists =false;
MAKE_SWAP_METHOD(CreateFileOptions, overwrite, ignoreIfExists)
};
@@ -39,7 +39,7 @@ struct lsCreateFile :public ResourceOperation {
/**
* Additional options
*/
- boost::optional<CreateFileOptions> options;
+ optional<CreateFileOptions> options;
/**
@@ -47,7 +47,7 @@ struct lsCreateFile :public ResourceOperation {
*
* @since 3.16.0
*/
- boost::optional<lsChangeAnnotationIdentifier> annotationId;
+ optional<lsChangeAnnotationIdentifier> annotationId;
MAKE_SWAP_METHOD(lsCreateFile, kind, uri, options, annotationId)
};
@@ -58,12 +58,12 @@ struct DeleteFileOptions {
/**
* Delete the content recursively if a folder is denoted.
*/
- boost::optional<bool> recursive = false;
+ optional<bool> recursive = false;
/**
* Ignore the operation if the file doesn't exist.
*/
- boost::optional<bool> ignoreIfNotExists = false;
+ optional<bool> ignoreIfNotExists = false;
MAKE_SWAP_METHOD(DeleteFileOptions, recursive, ignoreIfNotExists);
@@ -81,7 +81,7 @@ struct lsDeleteFile :public ResourceOperation {
/**
* Delete options.
*/
- boost::optional<DeleteFileOptions> options;
+ optional<DeleteFileOptions> options;
MAKE_SWAP_METHOD(lsDeleteFile, kind, uri, options);
};
@@ -104,14 +104,14 @@ struct lsRenameFile :public ResourceOperation {
/**
* Rename options.
*/
- boost::optional<RenameFileOptions> options;
+ optional<RenameFileOptions> options;
/**
* An optional annotation identifer describing the operation.
*
* @since 3.16.0
*/
- boost::optional<lsChangeAnnotationIdentifier> annotationId;
+ optional<lsChangeAnnotationIdentifier> annotationId;
MAKE_SWAP_METHOD(lsRenameFile, kind, oldUri, newUri, options, annotationId)
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
index 56f09a0a53..8fbe2caa8d 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getMoveDestinations.h
@@ -35,7 +35,7 @@ struct MoveParams {
/**
* The code action params when the move operation is triggered.
*/
- boost::optional<lsCodeActionParams> params;
+ optional<lsCodeActionParams> params;
/**
* The possible destination: a folder/package, class, instanceDeclaration.
*/
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
index 131612dc2e..23549ecbcc 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/getRefactorEdit.h
@@ -47,7 +47,7 @@ struct GetRefactorEditParams
std::string command;
std::vector<lsp::Any> commandArguments;
lsCodeActionParams context;
- boost::optional<lsFormattingOptions> options;
+ optional<lsFormattingOptions> options;
MAKE_SWAP_METHOD(GetRefactorEditParams, command, context, options);
};
MAKE_REFLECT_STRUCT(GetRefactorEditParams, command, context, options);
@@ -65,9 +65,9 @@ struct RefactorWorkspaceEdit {
* command, first the edit is executed and then the command.
*/
- boost::optional<std::string> errorMessage;
+ optional<std::string> errorMessage;
- boost::optional < lsCommandWithAny > command;
+ optional < lsCommandWithAny > command;
MAKE_SWAP_METHOD(RefactorWorkspaceEdit, edit, command, errorMessage)
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
index 18a2f9999e..6639ad2cf4 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/jdtls/searchSymbols.h
@@ -13,9 +13,9 @@
struct SearchSymbolParams :public WorkspaceSymbolParams
{
- boost::optional<std::string> projectName;
- boost::optional< bool >sourceOnly;
- boost::optional< int> maxResults;
+ optional<std::string> projectName;
+ optional< bool >sourceOnly;
+ optional< int> maxResults;
MAKE_SWAP_METHOD(SearchSymbolParams, query, projectName, sourceOnly, maxResults);
};
MAKE_REFLECT_STRUCT(SearchSymbolParams, query, projectName, sourceOnly, maxResults);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
index 0823469ba9..6752c40812 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/extention/sonarlint/protocol.h
@@ -1,6 +1,6 @@
#pragma once
#include <string>
-#include <boost/optional.hpp>
+#include <optional>
#include "LibLsp/JsonRpc/RequestInMessage.h"
#include "LibLsp/lsp/lsDocumentUri.h"
#include "LibLsp/lsp/lsAny.h"
@@ -18,8 +18,8 @@ struct LintRule
return name + " (" + key + ")";
}
bool activeByDefault = true;
- boost::optional<std::string> severity;
- boost::optional<std::string> type;
+ optional<std::string> severity;
+ optional<std::string> type;
int icon_index = -1;
MAKE_SWAP_METHOD(LintRule, key, name, activeByDefault, severity, type);
@@ -29,25 +29,25 @@ MAKE_REFLECT_STRUCT(LintRule, key, name, activeByDefault, severity, type);
struct RuleParameter {
std::string name;
- boost::optional<std::string> description;
- boost::optional<std::string> defaultValue;
+ optional<std::string> description;
+ optional<std::string> defaultValue;
};
MAKE_REFLECT_STRUCT(RuleParameter, name, description, defaultValue);
struct ShowRuleDescriptionParams {
- boost::optional<std::string> key;
+ optional<std::string> key;
- boost::optional<std::string> name;
+ optional<std::string> name;
- boost::optional<std::string> htmlDescription;
+ optional<std::string> htmlDescription;
- boost::optional<std::string> type;
+ optional<std::string> type;
- boost::optional<std::string> severity;
+ optional<std::string> severity;
- boost::optional< std::vector<RuleParameter> > parameters;
+ optional< std::vector<RuleParameter> > parameters;
MAKE_SWAP_METHOD(ShowRuleDescriptionParams, key, name, htmlDescription, type, severity, parameters)
@@ -82,7 +82,7 @@ struct ServerConnectionSettings {
std::string connectionId;
std::string serverUrl;
std::string token;
- boost::optional<std::string> organizationKey;
+ optional<std::string> organizationKey;
MAKE_SWAP_METHOD(ServerConnectionSettings, connectionId, serverUrl, token, organizationKey)
};
@@ -114,28 +114,28 @@ struct RuleSetting
off();
}
}
- boost::optional< std::map<std::string, std::string > > parameters;
+ optional< std::map<std::string, std::string > > parameters;
};
MAKE_REFLECT_STRUCT(RuleSetting, level, parameters)
struct ConsoleParams
{
- boost::optional < bool >showAnalyzerLogs;
- boost::optional < bool >showVerboseLogs;
+ optional < bool >showAnalyzerLogs;
+ optional < bool >showVerboseLogs;
MAKE_SWAP_METHOD(ConsoleParams, showAnalyzerLogs, showVerboseLogs)
};
MAKE_REFLECT_STRUCT(ConsoleParams, showAnalyzerLogs, showVerboseLogs)
struct SonarLintWorkspaceSettings
{
- boost::optional < bool > disableTelemetry;
- boost::optional < std::map<std::string, ServerConnectionSettings> >connectedMode;
- boost::optional<std::map<std::string, RuleSetting>> rules;
- boost::optional<ConsoleParams> output;
+ optional < bool > disableTelemetry;
+ optional < std::map<std::string, ServerConnectionSettings> >connectedMode;
+ optional<std::map<std::string, RuleSetting>> rules;
+ optional<ConsoleParams> output;
- boost::optional<std::string > pathToNodeExecutable;
+ optional<std::string > pathToNodeExecutable;
- boost::optional< std::map<std::string, std::string > > getConfigurationParameters(const std::string& ruleKey);
+ optional< std::map<std::string, std::string > > getConfigurationParameters(const std::string& ruleKey);
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
index c07cc8149d..145c63087f 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/InitializeParams.h
@@ -7,7 +7,7 @@
struct ClientInfo {
std::string name;
- boost::optional<std::string> version;
+ optional<std::string> version;
MAKE_SWAP_METHOD(ClientInfo,name,version);
};
@@ -18,14 +18,14 @@ struct lsInitializeParams {
// the server. Is null if the process has not been started by another process.
// If the parent process is not alive then the server should exit (see exit
// notification) its process.
- boost::optional<int> processId;
+ optional<int> processId;
/**
* Information about the client
*
* @since 3.15.0
*/
- boost::optional<ClientInfo> clientInfo;
+ optional<ClientInfo> clientInfo;
/**
* The locale the client is currently showing the user interface
* in. This must not necessarily be the locale of the operating
@@ -36,32 +36,32 @@ struct lsInitializeParams {
*
* @since 3.16.0
*/
- boost::optional<std::string> locale;
+ optional<std::string> locale;
// The rootPath of the workspace. Is null
// if no folder is open.
//
// @deprecated in favour of rootUri.
- boost::optional<std::string> rootPath;
+ optional<std::string> rootPath;
// The rootUri of the workspace. Is null if no
// folder is open. If both `rootPath` and `rootUri` are set
// `rootUri` wins.
- boost::optional<lsDocumentUri> rootUri;
+ optional<lsDocumentUri> rootUri;
// User provided initialization options.
- boost::optional<lsp::Any> initializationOptions;
+ optional<lsp::Any> initializationOptions;
// The capabilities provided by the client (editor or tool)
lsClientCapabilities capabilities;
/**
- * An boost::optional extension to the protocol.
+ * An optional extension to the protocol.
* To tell the server what client (editor) is talking to it.
*/
// @Deprecated
- boost::optional< std::string >clientName;
+ optional< std::string >clientName;
@@ -85,7 +85,7 @@ struct lsInitializeParams {
*
* Since 3.6.0
*/
- boost::optional< std::vector<WorkspaceFolder> > workspaceFolders;
+ optional< std::vector<WorkspaceFolder> > workspaceFolders;
MAKE_SWAP_METHOD(lsInitializeParams,
processId,
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
index 02fe216017..bef9cad31d 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/exit.h
@@ -4,4 +4,4 @@
/**
* A notification to ask the server to exit its process.
*/
-DEFINE_NOTIFICATION_TYPE(Notify_Exit, boost::optional<JsonNull>, "exit");
+DEFINE_NOTIFICATION_TYPE(Notify_Exit, optional<JsonNull>, "exit");
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
index 29129565e4..4ec9744258 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsClientCapabilities.h
@@ -18,7 +18,7 @@ struct MarkdownClientCapabilities {
/**
* The version of the parser.
*/
- boost::optional<std::string> version;
+ optional<std::string> version;
MAKE_SWAP_METHOD(MarkdownClientCapabilities, parser, version)
};
@@ -26,19 +26,19 @@ MAKE_REFLECT_STRUCT(MarkdownClientCapabilities, parser, version)
struct lsClientCapabilities {
// Workspace specific client capabilities.
- boost::optional<lsWorkspaceClientCapabilites> workspace;
+ optional<lsWorkspaceClientCapabilites> workspace;
// Text document specific client capabilities.
- boost::optional<lsTextDocumentClientCapabilities> textDocument;
+ optional<lsTextDocumentClientCapabilities> textDocument;
/**
* Window specific client capabilities.
*/
- boost::optional<lsp::Any> window;
+ optional<lsp::Any> window;
/**
* Experimental client capabilities.
*/
- boost::optional<lsp::Any> experimental;
+ optional<lsp::Any> experimental;
MAKE_SWAP_METHOD(lsClientCapabilities, workspace, textDocument, window, experimental)
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
index d62d3e4dfd..e8624681b3 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsServerCapabilities.h
@@ -10,7 +10,7 @@
#include "LibLsp/lsp/textDocument/SemanticTokens.h"
-extern void Reflect(Reader&, std::pair<boost::optional<lsTextDocumentSyncKind>, boost::optional<lsTextDocumentSyncOptions> >&);
+extern void Reflect(Reader&, std::pair<optional<lsTextDocumentSyncKind>, optional<lsTextDocumentSyncOptions> >&);
//
// Code Action options.
@@ -32,7 +32,7 @@ struct CodeLensOptions : WorkDoneProgressOptions {
//
// Code lens has a resolve provider as well.
//
- boost::optional<bool> resolveProvider ;
+ optional<bool> resolveProvider ;
MAKE_SWAP_METHOD(CodeLensOptions, workDoneProgress, resolveProvider);
};
MAKE_REFLECT_STRUCT(CodeLensOptions, workDoneProgress, resolveProvider)
@@ -56,7 +56,7 @@ struct RenameOptions : WorkDoneProgressOptions {
//
// Renames should be checked and tested before being executed.
//
- boost::optional<bool> prepareProvider;
+ optional<bool> prepareProvider;
MAKE_SWAP_METHOD(RenameOptions, workDoneProgress, prepareProvider);
};
MAKE_REFLECT_STRUCT(RenameOptions,workDoneProgress,prepareProvider)
@@ -65,11 +65,11 @@ struct DocumentFilter{
//
// A language id, like `typescript`.
//
- boost::optional<std::string> language;
+ optional<std::string> language;
//
// A Uri [scheme](#Uri.scheme), like `file` or `untitled`.
//
- boost::optional<std::string>scheme;
+ optional<std::string>scheme;
//
// A glob pattern, like `*.{ts,js}`.
//
@@ -85,7 +85,7 @@ struct DocumentFilter{
// (e.g., `example.[!0-9]` to match on `example.a`, `example.b`, but
// not `example.0`)
//
- boost::optional<std::string>pattern;
+ optional<std::string>pattern;
MAKE_SWAP_METHOD(DocumentFilter, language, scheme, pattern)
};
MAKE_REFLECT_STRUCT(DocumentFilter, language, scheme, pattern)
@@ -96,7 +96,7 @@ using DocumentSelector = std::vector<DocumentFilter>;
// Document link options
struct lsDocumentLinkOptions :WorkDoneProgressOptions {
// Document links have a resolve provider as well.
- boost::optional<bool> resolveProvider;
+ optional<bool> resolveProvider;
MAKE_SWAP_METHOD(lsDocumentLinkOptions, workDoneProgress, resolveProvider);
};
MAKE_REFLECT_STRUCT(lsDocumentLinkOptions, workDoneProgress,resolveProvider);
@@ -116,7 +116,7 @@ struct TextDocumentRegistrationOptions
// A document selector to identify the scope of the registration. If set to null
// the document selector provided on the client side will be used.
//
- boost::optional<DocumentSelector> documentSelector;
+ optional<DocumentSelector> documentSelector;
MAKE_SWAP_METHOD(TextDocumentRegistrationOptions, documentSelector);
};
@@ -131,7 +131,7 @@ struct StaticRegistrationOptions :public TextDocumentRegistrationOptions
// The id used to register the request. The id can be used to deregister
// the request again. See also Registration#id.
//
- boost::optional<std::string> id;
+ optional<std::string> id;
MAKE_SWAP_METHOD(StaticRegistrationOptions, documentSelector, id)
};
MAKE_REFLECT_STRUCT(StaticRegistrationOptions, documentSelector,id)
@@ -146,7 +146,7 @@ struct WorkspaceFoldersOptions {
//
// The server has support for workspace folders
//
- boost::optional<bool> supported;
+ optional<bool> supported;
//
// Whether the server wants to receive workspace folder
@@ -157,7 +157,7 @@ struct WorkspaceFoldersOptions {
// side. The ID can be used to unregister for these events
// using the `client/unregisterCapability` request.
//
- boost::optional<std::pair< boost::optional<std::string>, boost::optional<bool> > > changeNotifications;
+ optional<std::pair< optional<std::string>, optional<bool> > > changeNotifications;
MAKE_SWAP_METHOD(WorkspaceFoldersOptions, supported, changeNotifications);
};
MAKE_REFLECT_STRUCT(WorkspaceFoldersOptions, supported, changeNotifications);
@@ -185,7 +185,7 @@ struct lsFileOperationPatternOptions {
//
// The pattern should be matched ignoring casing.
//
- boost::optional<bool> ignoreCase;
+ optional<bool> ignoreCase;
MAKE_SWAP_METHOD(lsFileOperationPatternOptions, ignoreCase)
};
MAKE_REFLECT_STRUCT(lsFileOperationPatternOptions, ignoreCase)
@@ -216,12 +216,12 @@ struct lsFileOperationPattern {
//
// Matches both if undefined.
//
- boost::optional<lsFileOperationPatternKind> matches;
+ optional<lsFileOperationPatternKind> matches;
//
// Additional options used during matching.
//
- boost::optional<lsFileOperationPatternOptions> options ;
+ optional<lsFileOperationPatternOptions> options ;
MAKE_SWAP_METHOD(lsFileOperationPattern, glob, matches, options)
};
MAKE_REFLECT_STRUCT(lsFileOperationPattern, glob, matches, options)
@@ -236,12 +236,12 @@ struct lsFileOperationFilter {
//
// A Uri like `file` or `untitled`.
//
- boost::optional<std::string> scheme;
+ optional<std::string> scheme;
//
// The actual file operation pattern.
//
- boost::optional<lsFileOperationPattern> pattern;
+ optional<lsFileOperationPattern> pattern;
MAKE_SWAP_METHOD(lsFileOperationFilter, scheme, pattern)
};
MAKE_REFLECT_STRUCT(lsFileOperationFilter, scheme, pattern)
@@ -254,7 +254,7 @@ struct lsFileOperationRegistrationOptions {
//
// The actual filters.
//
- boost::optional<std::vector<lsFileOperationFilter>> filters;
+ optional<std::vector<lsFileOperationFilter>> filters;
MAKE_SWAP_METHOD(lsFileOperationRegistrationOptions, filters)
};
MAKE_REFLECT_STRUCT(lsFileOperationRegistrationOptions, filters)
@@ -279,38 +279,38 @@ struct WorkspaceServerCapabilities {
// The server is interested in receiving didCreateFiles
// notifications.
//
- boost::optional<lsFileOperationRegistrationOptions> didCreate;
+ optional<lsFileOperationRegistrationOptions> didCreate;
//
// The server is interested in receiving willCreateFiles requests.
//
- boost::optional<lsFileOperationRegistrationOptions> willCreate;
+ optional<lsFileOperationRegistrationOptions> willCreate;
//
// The server is interested in receiving didRenameFiles
// notifications.
//
- boost::optional<lsFileOperationRegistrationOptions> didRename;
+ optional<lsFileOperationRegistrationOptions> didRename;
//
// The server is interested in receiving willRenameFiles requests.
//
- boost::optional<lsFileOperationRegistrationOptions> willRename;
+ optional<lsFileOperationRegistrationOptions> willRename;
//
// The server is interested in receiving didDeleteFiles file
// notifications.
//
- boost::optional<lsFileOperationRegistrationOptions> didDelete;
+ optional<lsFileOperationRegistrationOptions> didDelete;
//
// The server is interested in receiving willDeleteFiles file
// requests.
//
- boost::optional<lsFileOperationRegistrationOptions> willDelete;
+ optional<lsFileOperationRegistrationOptions> willDelete;
MAKE_SWAP_METHOD(lsFileOperations, didCreate, willCreate, didRename, willRename, didDelete, willDelete)
};
- boost::optional<lsFileOperations>fileOperations;
+ optional<lsFileOperations>fileOperations;
MAKE_SWAP_METHOD(WorkspaceServerCapabilities, workspaceFolders, fileOperations)
@@ -356,24 +356,24 @@ struct SemanticTokensWithRegistrationOptions
// Server supports providing semantic tokens for a specific range
// of a document.
//
- boost::optional< std::pair< boost::optional<bool>, boost::optional<lsp::Any> > > range;
+ optional< std::pair< optional<bool>, optional<lsp::Any> > > range;
//
// Server supports providing semantic tokens for a full document.
//
- boost::optional< std::pair< boost::optional<bool>,
- boost::optional<SemanticTokensServerFull> > > full;
+ optional< std::pair< optional<bool>,
+ optional<SemanticTokensServerFull> > > full;
//
// A document selector to identify the scope of the registration. If set to null
// the document selector provided on the client side will be used.
//
- boost::optional < std::vector<DocumentFilter> > documentSelector;
+ optional < std::vector<DocumentFilter> > documentSelector;
//
// The id used to register the request. The id can be used to deregister
// the request again. See also Registration#id.
//
- boost::optional<std::string> id;
+ optional<std::string> id;
MAKE_SWAP_METHOD(SemanticTokensWithRegistrationOptions, legend, range, full, documentSelector, id)
};
MAKE_REFLECT_STRUCT(SemanticTokensWithRegistrationOptions, legend, range, full, documentSelector ,id)
@@ -385,20 +385,20 @@ struct lsServerCapabilities {
// defining each notification or for backwards compatibility the
// TextDocumentSyncKind number.
- boost::optional< std::pair<boost::optional<lsTextDocumentSyncKind>,
- boost::optional<lsTextDocumentSyncOptions> >> textDocumentSync;
+ optional< std::pair<optional<lsTextDocumentSyncKind>,
+ optional<lsTextDocumentSyncOptions> >> textDocumentSync;
// The server provides hover support.
- boost::optional<bool> hoverProvider;
+ optional<bool> hoverProvider;
// The server provides completion support.
- boost::optional < lsCompletionOptions > completionProvider;
+ optional < lsCompletionOptions > completionProvider;
// The server provides signature help support.
- boost::optional < lsSignatureHelpOptions > signatureHelpProvider;
+ optional < lsSignatureHelpOptions > signatureHelpProvider;
// The server provides goto definition support.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<WorkDoneProgressOptions> > > definitionProvider;
+ optional< std::pair< optional<bool>, optional<WorkDoneProgressOptions> > > definitionProvider;
//
@@ -406,44 +406,44 @@ struct lsServerCapabilities {
//
// Since 3.6.0
//
- boost::optional< std::pair< boost::optional<bool>, boost::optional<StaticRegistrationOptions> > > typeDefinitionProvider ;
+ optional< std::pair< optional<bool>, optional<StaticRegistrationOptions> > > typeDefinitionProvider ;
// The server provides implementation support.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<StaticRegistrationOptions> > > implementationProvider ;
+ optional< std::pair< optional<bool>, optional<StaticRegistrationOptions> > > implementationProvider ;
// The server provides find references support.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<WorkDoneProgressOptions> > > referencesProvider ;
+ optional< std::pair< optional<bool>, optional<WorkDoneProgressOptions> > > referencesProvider ;
// The server provides document highlight support.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<WorkDoneProgressOptions> > > documentHighlightProvider ;
+ optional< std::pair< optional<bool>, optional<WorkDoneProgressOptions> > > documentHighlightProvider ;
// The server provides document symbol support.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<WorkDoneProgressOptions> > > documentSymbolProvider ;
+ optional< std::pair< optional<bool>, optional<WorkDoneProgressOptions> > > documentSymbolProvider ;
// The server provides workspace symbol support.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<WorkDoneProgressOptions> > > workspaceSymbolProvider ;
+ optional< std::pair< optional<bool>, optional<WorkDoneProgressOptions> > > workspaceSymbolProvider ;
// The server provides code actions.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<CodeActionOptions> > > codeActionProvider ;
+ optional< std::pair< optional<bool>, optional<CodeActionOptions> > > codeActionProvider ;
// The server provides code lens.
- boost::optional<CodeLensOptions> codeLensProvider;
+ optional<CodeLensOptions> codeLensProvider;
// The server provides document formatting.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<WorkDoneProgressOptions> > > documentFormattingProvider ;
+ optional< std::pair< optional<bool>, optional<WorkDoneProgressOptions> > > documentFormattingProvider ;
// The server provides document range formatting.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<WorkDoneProgressOptions> > > documentRangeFormattingProvider ;
+ optional< std::pair< optional<bool>, optional<WorkDoneProgressOptions> > > documentRangeFormattingProvider ;
// The server provides document formatting on typing.
- boost::optional<lsDocumentOnTypeFormattingOptions> documentOnTypeFormattingProvider;
+ optional<lsDocumentOnTypeFormattingOptions> documentOnTypeFormattingProvider;
// The server provides rename support.
- boost::optional< std::pair< boost::optional<bool>, boost::optional<RenameOptions> > > renameProvider;
+ optional< std::pair< optional<bool>, optional<RenameOptions> > > renameProvider;
// The server provides document link support.
- boost::optional<lsDocumentLinkOptions > documentLinkProvider;
+ optional<lsDocumentLinkOptions > documentLinkProvider;
//
@@ -451,7 +451,7 @@ struct lsServerCapabilities {
//
// @since 3.6.0
//
- boost::optional< std::pair< boost::optional<bool>, boost::optional<DocumentColorOptions> > > colorProvider;
+ optional< std::pair< optional<bool>, optional<DocumentColorOptions> > > colorProvider;
//
@@ -459,22 +459,22 @@ struct lsServerCapabilities {
//
// @since 3.10.0
//
- boost::optional < std::pair< boost::optional<bool>, boost::optional<FoldingRangeOptions> > > foldingRangeProvider;
+ optional < std::pair< optional<bool>, optional<FoldingRangeOptions> > > foldingRangeProvider;
// The server provides execute command support.
- boost::optional < lsExecuteCommandOptions >executeCommandProvider;
+ optional < lsExecuteCommandOptions >executeCommandProvider;
//
// Workspace specific server capabilities
//
- boost::optional< WorkspaceServerCapabilities > workspace;
+ optional< WorkspaceServerCapabilities > workspace;
//
// Semantic highlighting server capabilities.
//
- boost::optional< SemanticHighlightingServerCapabilities >semanticHighlighting;
+ optional< SemanticHighlightingServerCapabilities >semanticHighlighting;
//
// Server capability for calculating super- and subtype hierarchies.
@@ -486,31 +486,31 @@ struct lsServerCapabilities {
// language feature</a> is not yet part of the official LSP specification.
//
- boost::optional< std::pair< boost::optional<bool>,
- boost::optional<StaticRegistrationOptions> > > typeHierarchyProvider;
+ optional< std::pair< optional<bool>,
+ optional<StaticRegistrationOptions> > > typeHierarchyProvider;
//
// The server provides Call Hierarchy support.
//
- boost::optional< std::pair< boost::optional<bool>,
- boost::optional<StaticRegistrationOptions> > > callHierarchyProvider;
+ optional< std::pair< optional<bool>,
+ optional<StaticRegistrationOptions> > > callHierarchyProvider;
//
// The server provides selection range support.
//
// Since 3.15.0
//
- boost::optional< std::pair< boost::optional<bool>,
- boost::optional<StaticRegistrationOptions> > > selectionRangeProvider;
+ optional< std::pair< optional<bool>,
+ optional<StaticRegistrationOptions> > > selectionRangeProvider;
//
// The server provides linked editing range support.
//
// Since 3.16.0
//
- boost::optional< std::pair< boost::optional<bool>,
- boost::optional<StaticRegistrationOptions> > > linkedEditingRangeProvider;
+ optional< std::pair< optional<bool>,
+ optional<StaticRegistrationOptions> > > linkedEditingRangeProvider;
//
@@ -518,17 +518,17 @@ struct lsServerCapabilities {
//
// Since 3.16.0
//
- boost::optional < SemanticTokensWithRegistrationOptions> semanticTokensProvider;
+ optional < SemanticTokensWithRegistrationOptions> semanticTokensProvider;
//
// Whether server provides moniker support.
//
// Since 3.16.0
//
- boost::optional< std::pair< boost::optional<bool>,
- boost::optional<StaticRegistrationOptions> > > monikerProvider;
+ optional< std::pair< optional<bool>,
+ optional<StaticRegistrationOptions> > > monikerProvider;
- boost::optional<lsp::Any> experimental;
+ optional<lsp::Any> experimental;
MAKE_SWAP_METHOD(lsServerCapabilities,
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
index 4e66bcb7ae..1523254d63 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsTextDocumentClientCapabilities.h
@@ -14,7 +14,7 @@
struct WorkDoneProgressOptions
{
- boost::optional<bool>workDoneProgress;
+ optional<bool>workDoneProgress;
MAKE_SWAP_METHOD(WorkDoneProgressOptions, workDoneProgress);
};
MAKE_REFLECT_STRUCT(WorkDoneProgressOptions, workDoneProgress);
@@ -24,7 +24,7 @@ struct lsCompletionOptions:WorkDoneProgressOptions
{
// The server provides support to resolve additional
// information for a completion item.
- boost::optional<bool> resolveProvider = false;
+ optional<bool> resolveProvider = false;
//
// Most tools trigger completion request automatically without explicitly requesting
@@ -37,14 +37,14 @@ struct lsCompletionOptions:WorkDoneProgressOptions
// an identifier (for example `.` in JavaScript) list them in `triggerCharacters`.
//
// https://github.com/Microsoft/language-server-protocol/issues/138.
- boost::optional< std::vector<std::string> > triggerCharacters ;
+ optional< std::vector<std::string> > triggerCharacters ;
//
// The list of all possible characters that commit a completion. This field can be used
// if clients don't support individual commmit characters per completion item. See
// `ClientCapabilities.textDocument.completion.completionItem.commitCharactersSupport`
//
- boost::optional< std::vector<std::string> > allCommitCharacters;
+ optional< std::vector<std::string> > allCommitCharacters;
MAKE_SWAP_METHOD(lsCompletionOptions, workDoneProgress, resolveProvider, triggerCharacters, allCommitCharacters);
};
@@ -102,16 +102,16 @@ MAKE_REFLECT_TYPE_PROXY(lsTextDocumentSyncKind)
struct lsTextDocumentSyncOptions {
// Open and close notifications are sent to the server.
- boost::optional<bool> openClose ;
+ optional<bool> openClose ;
// Change notificatins are sent to the server. See TextDocumentSyncKind.None,
// TextDocumentSyncKind.Full and TextDocumentSyncKindIncremental.
- boost::optional< lsTextDocumentSyncKind> change ;
+ optional< lsTextDocumentSyncKind> change ;
// Will save notifications are sent to the server.
- boost::optional<bool> willSave;
+ optional<bool> willSave;
// Will save wait until requests are sent to the server.
- boost::optional<bool> willSaveWaitUntil;
+ optional<bool> willSaveWaitUntil;
// Save notifications are sent to the server.
- boost::optional<lsSaveOptions> save;
+ optional<lsSaveOptions> save;
MAKE_SWAP_METHOD(lsTextDocumentSyncOptions,
openClose,
@@ -129,18 +129,18 @@ MAKE_REFLECT_STRUCT(lsTextDocumentSyncOptions,
struct SynchronizationCapabilities {
// Whether text document synchronization supports dynamic registration.
- boost::optional<bool> dynamicRegistration;
+ optional<bool> dynamicRegistration;
// The client supports sending will save notifications.
- boost::optional<bool> willSave;
+ optional<bool> willSave;
// The client supports sending a will save request and
// waits for a response providing text edits which will
// be applied to the document before it is saved.
- boost::optional<bool> willSaveWaitUntil;
+ optional<bool> willSaveWaitUntil;
// The client supports did save notifications.
- boost::optional<bool> didSave;
+ optional<bool> didSave;
MAKE_SWAP_METHOD(SynchronizationCapabilities,
dynamicRegistration,
@@ -156,7 +156,7 @@ MAKE_REFLECT_STRUCT(SynchronizationCapabilities,
struct CompletionItemKindCapabilities
{
- boost::optional<std::vector<lsCompletionItemKind> >valueSet;
+ optional<std::vector<lsCompletionItemKind> >valueSet;
MAKE_SWAP_METHOD(CompletionItemKindCapabilities, valueSet);
};
MAKE_REFLECT_STRUCT(CompletionItemKindCapabilities, valueSet);
@@ -168,26 +168,26 @@ struct CompletionItemCapabilities {
// and `${3:foo}`. `$0` defines the final tab stop, it defaults to
// the end of the snippet. Placeholders with equal identifiers are linked,
// that is typing in one will update others too.
- boost::optional<bool> snippetSupport;
+ optional<bool> snippetSupport;
// Client supports commit characters on a completion item.
- boost::optional<bool> commitCharactersSupport;
+ optional<bool> commitCharactersSupport;
// Client supports the following content formats for the documentation
// property. The order describes the preferred format of the client.
- boost::optional< std::vector<std::string> > documentationFormat;
+ optional< std::vector<std::string> > documentationFormat;
// Client supports the deprecated property on a completion item.
- boost::optional<bool> deprecatedSupport;
+ optional<bool> deprecatedSupport;
//
// Client supports the preselect property on a completion item.
//
- boost::optional<bool> preselectSupport;
+ optional<bool> preselectSupport;
MAKE_SWAP_METHOD(CompletionItemCapabilities,
snippetSupport,
@@ -207,25 +207,25 @@ MAKE_REFLECT_STRUCT(CompletionItemCapabilities,
//
struct CompletionCapabilities {
// Whether completion supports dynamic registration.
- boost::optional<bool> dynamicRegistration;
+ optional<bool> dynamicRegistration;
// The client supports the following `CompletionItem` specific
// capabilities.
- boost::optional<CompletionItemCapabilities> completionItem;
+ optional<CompletionItemCapabilities> completionItem;
//
// The client supports the following `CompletionItemKind` specific
// capabilities.
//
- boost::optional<CompletionItemKindCapabilities> completionItemKind;
+ optional<CompletionItemKindCapabilities> completionItemKind;
//
// The client supports sending additional context information for a
// `textDocument/completion` request.
//
- boost::optional<bool> contextSupport;
+ optional<bool> contextSupport;
MAKE_SWAP_METHOD(CompletionCapabilities,
@@ -246,7 +246,7 @@ struct HoverCapabilities:public DynamicRegistrationCapabilities
//
// See {@link MarkupKind} for allowed values.
//
- boost::optional<std::vector<std::string>> contentFormat;
+ optional<std::vector<std::string>> contentFormat;
MAKE_SWAP_METHOD(HoverCapabilities, dynamicRegistration, contentFormat);
};
@@ -262,7 +262,7 @@ struct ParameterInformationCapabilities {
//
// Since 3.14.0
//
- boost::optional<bool> labelOffsetSupport;
+ optional<bool> labelOffsetSupport;
MAKE_SWAP_METHOD(ParameterInformationCapabilities, labelOffsetSupport);
};
@@ -293,7 +293,7 @@ struct SignatureHelpCapabilities :public DynamicRegistrationCapabilities
// The client supports the following `SignatureInformation`
// specific properties.
//
- boost::optional< SignatureInformationCapabilities > signatureInformation;
+ optional< SignatureInformationCapabilities > signatureInformation;
MAKE_SWAP_METHOD(SignatureHelpCapabilities, dynamicRegistration, signatureInformation)
};
@@ -303,12 +303,12 @@ struct DocumentSymbolCapabilities :public DynamicRegistrationCapabilities {
//
// Specific capabilities for the `SymbolKind`.
//
- boost::optional<SymbolKindCapabilities> symbolKind;
+ optional<SymbolKindCapabilities> symbolKind;
//
// The client support hierarchical document symbols.
//
- boost::optional<bool> hierarchicalDocumentSymbolSupport;
+ optional<bool> hierarchicalDocumentSymbolSupport;
MAKE_SWAP_METHOD(DocumentSymbolCapabilities, dynamicRegistration, symbolKind, hierarchicalDocumentSymbolSupport)
};
@@ -318,7 +318,7 @@ struct DeclarationCapabilities:public DynamicRegistrationCapabilities{
//
// The client supports additional metadata in the form of declaration links.
//
- boost::optional<bool>linkSupport;
+ optional<bool>linkSupport;
MAKE_SWAP_METHOD(DeclarationCapabilities, dynamicRegistration, linkSupport);
};
@@ -335,7 +335,7 @@ struct CodeActionKindCapabilities
//
// See {@link CodeActionKind} for allowed values.
//
- boost::optional< std::vector< std::string> >valueSet;
+ optional< std::vector< std::string> >valueSet;
MAKE_SWAP_METHOD(CodeActionKindCapabilities, valueSet)
};
@@ -343,7 +343,7 @@ MAKE_REFLECT_STRUCT(CodeActionKindCapabilities,valueSet)
struct CodeActionLiteralSupportCapabilities
{
- boost::optional<CodeActionKindCapabilities> codeActionKind;
+ optional<CodeActionKindCapabilities> codeActionKind;
MAKE_SWAP_METHOD(CodeActionLiteralSupportCapabilities, codeActionKind)
};
@@ -354,7 +354,7 @@ struct CodeActionCapabilities:public DynamicRegistrationCapabilities{
// The client support code action literals as a valid
// response of the `textDocument/codeAction` request.
//
- boost::optional<CodeActionLiteralSupportCapabilities> codeActionLiteralSupport;
+ optional<CodeActionLiteralSupportCapabilities> codeActionLiteralSupport;
MAKE_SWAP_METHOD(CodeActionCapabilities, dynamicRegistration, codeActionLiteralSupport)
};
@@ -365,7 +365,7 @@ struct RenameCapabilities :public DynamicRegistrationCapabilities {
// The client support code action literals as a valid
// response of the `textDocument/codeAction` request.
//
- boost::optional<bool> prepareSupport;
+ optional<bool> prepareSupport;
MAKE_SWAP_METHOD(RenameCapabilities, dynamicRegistration, prepareSupport)
};
@@ -385,7 +385,7 @@ struct PublishDiagnosticsClientCapabilities :public DynamicRegistrationCapabilit
* The client support code action literals as a valid
* response of the `textDocument/codeAction` request.
*/
- boost::optional<bool> relatedInformation;
+ optional<bool> relatedInformation;
/**
* Client supports the tag property to provide meta data about a diagnostic.
@@ -398,7 +398,7 @@ struct PublishDiagnosticsClientCapabilities :public DynamicRegistrationCapabilit
*
* Since 3.15
*/
- boost::optional < std::pair<boost::optional<bool>, boost::optional<DiagnosticsTagSupport> > > tagSupport;
+ optional < std::pair<optional<bool>, optional<DiagnosticsTagSupport> > > tagSupport;
/**
* Whether the client interprets the version property of the
@@ -406,14 +406,14 @@ struct PublishDiagnosticsClientCapabilities :public DynamicRegistrationCapabilit
*
* Since 3.15.0
*/
- boost::optional<bool> versionSupport;
+ optional<bool> versionSupport;
/**
* Client supports a codeDescription property
*
* @since 3.16.0
*/
- boost::optional<bool> codeDescriptionSupport ;
+ optional<bool> codeDescriptionSupport ;
/**
* Whether code action supports the `data` property which is
@@ -422,7 +422,7 @@ struct PublishDiagnosticsClientCapabilities :public DynamicRegistrationCapabilit
*
* @since 3.16.0
*/
- boost::optional<bool> dataSupport ;
+ optional<bool> dataSupport ;
MAKE_SWAP_METHOD(PublishDiagnosticsClientCapabilities, dynamicRegistration, relatedInformation, tagSupport,versionSupport,codeDescriptionSupport,dataSupport)
@@ -435,13 +435,13 @@ struct FoldingRangeCapabilities :public DynamicRegistrationCapabilities {
// The maximum number of folding ranges that the client prefers to receive per document. The value serves as a
// hint, servers are free to follow the limit.
//
- boost::optional<int> rangeLimit;
+ optional<int> rangeLimit;
//
// If set, the client signals that it only supports folding complete lines. If set, client will
// ignore specified `startCharacter` and `endCharacter` properties in a FoldingRange.
//
- boost::optional<bool> lineFoldingOnly;
+ optional<bool> lineFoldingOnly;
MAKE_SWAP_METHOD(FoldingRangeCapabilities, dynamicRegistration, rangeLimit, lineFoldingOnly)
};
MAKE_REFLECT_STRUCT(FoldingRangeCapabilities, dynamicRegistration, rangeLimit,lineFoldingOnly)
@@ -452,7 +452,7 @@ struct SemanticHighlightingCapabilities :public DynamicRegistrationCapabilities
// The client support code action literals as a valid
// response of the `textDocument/codeAction` request.
//
- boost::optional<bool> semanticHighlighting;
+ optional<bool> semanticHighlighting;
MAKE_SWAP_METHOD(SemanticHighlightingCapabilities, dynamicRegistration, semanticHighlighting)
};
@@ -478,13 +478,13 @@ struct SemanticTokensClientCapabilities : public DynamicRegistrationCapabilitie
// The client will send the `textDocument/semanticTokens/range` request
// if the server provides a corresponding handler.
//
- boost::optional<std::pair< boost::optional<bool>,
- boost::optional<SemanticTokensClientCapabilitiesRequestsFull>>> range;
+ optional<std::pair< optional<bool>,
+ optional<SemanticTokensClientCapabilitiesRequestsFull>>> range;
//
// The client will send the `textDocument/semanticTokens/full` request
// if the server provides a corresponding handler.
//
- boost::optional<std::pair< boost::optional<bool>, boost::optional<lsp::Any>>> full;
+ optional<std::pair< optional<bool>, optional<lsp::Any>>> full;
MAKE_SWAP_METHOD(lsRequests, range, full)
};
@@ -505,12 +505,12 @@ struct SemanticTokensClientCapabilities : public DynamicRegistrationCapabilitie
//
// Whether the client supports tokens that can overlap each other.
//
- boost::optional < bool >overlappingTokenSupport;
+ optional < bool >overlappingTokenSupport;
//
// Whether the client supports tokens that can span multiple lines.
//
- boost::optional < bool > multilineTokenSupport;
+ optional < bool > multilineTokenSupport;
MAKE_SWAP_METHOD(SemanticTokensClientCapabilities, dynamicRegistration,requests, tokenTypes, tokenModifiers,
formats, overlappingTokenSupport, multilineTokenSupport)
@@ -527,37 +527,37 @@ struct lsTextDocumentClientCapabilities {
// Capabilities specific to the `textDocument/completion`
- boost::optional<CompletionCapabilities> completion;
+ optional<CompletionCapabilities> completion;
// Capabilities specific to the `textDocument/hover`
- boost::optional<HoverCapabilities> hover;
+ optional<HoverCapabilities> hover;
// Capabilities specific to the `textDocument/signatureHelp`
- boost::optional<SignatureHelpCapabilities> signatureHelp;
+ optional<SignatureHelpCapabilities> signatureHelp;
// Capabilities specific to the `textDocument/references`
- boost::optional<DynamicRegistrationCapabilities> references;
+ optional<DynamicRegistrationCapabilities> references;
// Capabilities specific to the `textDocument/documentHighlight`
- boost::optional<DynamicRegistrationCapabilities> documentHighlight;
+ optional<DynamicRegistrationCapabilities> documentHighlight;
// Capabilities specific to the `textDocument/documentSymbol`
- boost::optional<DocumentSymbolCapabilities> documentSymbol;
+ optional<DocumentSymbolCapabilities> documentSymbol;
// Capabilities specific to the `textDocument/formatting`
- boost::optional<DynamicRegistrationCapabilities> formatting;
+ optional<DynamicRegistrationCapabilities> formatting;
// Capabilities specific to the `textDocument/rangeFormatting`
- boost::optional<DynamicRegistrationCapabilities> rangeFormatting;
+ optional<DynamicRegistrationCapabilities> rangeFormatting;
// Capabilities specific to the `textDocument/onTypeFormatting`
- boost::optional<DynamicRegistrationCapabilities> onTypeFormatting;
+ optional<DynamicRegistrationCapabilities> onTypeFormatting;
//
@@ -565,12 +565,12 @@ struct lsTextDocumentClientCapabilities {
//
// Since 3.14.0
//
- boost::optional< DeclarationCapabilities> declaration;
+ optional< DeclarationCapabilities> declaration;
typedef DeclarationCapabilities DefinitionCapabilities;
// Capabilities specific to the `textDocument/definition`
- boost::optional<DefinitionCapabilities> definition;
+ optional<DefinitionCapabilities> definition;
@@ -580,23 +580,23 @@ struct lsTextDocumentClientCapabilities {
// Since 3.6.0
//
typedef DeclarationCapabilities TypeDefinitionCapabilities;
- boost::optional<TypeDefinitionCapabilities> typeDefinition;
+ optional<TypeDefinitionCapabilities> typeDefinition;
typedef DeclarationCapabilities ImplementationCapabilities;
// Capabilities specific to the `textDocument/implementation`
- boost::optional<ImplementationCapabilities> implementation;
+ optional<ImplementationCapabilities> implementation;
// Capabilities specific to the `textDocument/codeAction`
- boost::optional<CodeActionCapabilities> codeAction;
+ optional<CodeActionCapabilities> codeAction;
// Capabilities specific to the `textDocument/codeLens`
- boost::optional<DynamicRegistrationCapabilities> codeLens;
+ optional<DynamicRegistrationCapabilities> codeLens;
// Capabilities specific to the `textDocument/documentLink`
- boost::optional<DynamicRegistrationCapabilities> documentLink;
+ optional<DynamicRegistrationCapabilities> documentLink;
//
// Capabilities specific to the `textDocument/documentColor` and the
@@ -604,33 +604,33 @@ struct lsTextDocumentClientCapabilities {
//
// Since 3.6.0
//
- boost::optional<DynamicRegistrationCapabilities> colorProvider;
+ optional<DynamicRegistrationCapabilities> colorProvider;
// Capabilities specific to the `textDocument/rename`
- boost::optional<RenameCapabilities> rename;
+ optional<RenameCapabilities> rename;
//
// Capabilities specific to `textDocument/publishDiagnostics`.
//
- boost::optional<PublishDiagnosticsClientCapabilities> publishDiagnostics;
+ optional<PublishDiagnosticsClientCapabilities> publishDiagnostics;
//
// Capabilities specific to `textDocument/foldingRange` requests.
//
// Since 3.10.0
//
- boost::optional< FoldingRangeCapabilities > foldingRange;
+ optional< FoldingRangeCapabilities > foldingRange;
//
// Capabilities specific to {@code textDocument/semanticHighlighting}.
//
- boost::optional< SemanticHighlightingCapabilities > semanticHighlightingCapabilities;
+ optional< SemanticHighlightingCapabilities > semanticHighlightingCapabilities;
//
// Capabilities specific to {@code textDocument/typeHierarchy}.
//
- boost::optional< DynamicRegistrationCapabilities > typeHierarchyCapabilities;
+ optional< DynamicRegistrationCapabilities > typeHierarchyCapabilities;
@@ -638,35 +638,35 @@ struct lsTextDocumentClientCapabilities {
// Capabilities specific to `textDocument/selectionRange` requests
//
- boost::optional< DynamicRegistrationCapabilities > selectionRange;
+ optional< DynamicRegistrationCapabilities > selectionRange;
//
// Capabilities specific to the `textDocument/linkedEditingRange` request.
//
// @since 3.16.0
//
- boost::optional< DynamicRegistrationCapabilities > linkedEditingRange;
+ optional< DynamicRegistrationCapabilities > linkedEditingRange;
//
// Capabilities specific to the various call hierarchy requests.
//
// @since 3.16.0
//
- boost::optional< DynamicRegistrationCapabilities > callHierarchy;
+ optional< DynamicRegistrationCapabilities > callHierarchy;
//
// Capabilities specific to the various semantic token requests.
//
// @since 3.16.0
//
- boost::optional< SemanticTokensClientCapabilities > semanticTokens;
+ optional< SemanticTokensClientCapabilities > semanticTokens;
//
// Capabilities specific to the `textDocument/moniker` request.
//
// @since 3.16.0
//
- boost::optional< DynamicRegistrationCapabilities > moniker;
+ optional< DynamicRegistrationCapabilities > moniker;
MAKE_SWAP_METHOD(lsTextDocumentClientCapabilities,
synchronization,
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
index ee672aa111..4b48aec414 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/lsWorkspaceClientCapabilites.h
@@ -26,7 +26,7 @@ struct lschangeAnnotationSupport
* for instance all edits labelled with "Changes in Strings" would
* be a tree node.
*/
- boost::optional<bool> groupsOnLabel;
+ optional<bool> groupsOnLabel;
MAKE_SWAP_METHOD(lschangeAnnotationSupport, groupsOnLabel)
};
MAKE_REFLECT_STRUCT(lschangeAnnotationSupport, groupsOnLabel)
@@ -35,7 +35,7 @@ struct WorkspaceEditCapabilities {
/**
* The client supports versioned document changes in `WorkspaceEdit`s
*/
- boost::optional<bool> documentChanges;
+ optional<bool> documentChanges;
/**
* The client supports resource changes
@@ -44,7 +44,7 @@ struct WorkspaceEditCapabilities {
* @deprecated Since LSP introduces resource operations, use {link #resourceOperations}
*/
- boost::optional<bool> resourceChanges;
+ optional<bool> resourceChanges;
/**
* The resource operations the client supports. Clients should at least
@@ -52,7 +52,7 @@ struct WorkspaceEditCapabilities {
*
* @since 3.13.0
*/
- boost::optional< std::vector<std::string> > resourceOperations;
+ optional< std::vector<std::string> > resourceOperations;
/**
* The failure handling strategy of a client if applying the workspace edit
@@ -60,7 +60,7 @@ struct WorkspaceEditCapabilities {
*
* See {@link FailureHandlingKind} for allowed values.
*/
- boost::optional<std::string > failureHandling;
+ optional<std::string > failureHandling;
/**
* Whether the client normalizes line endings to the client specific
@@ -70,7 +70,7 @@ struct WorkspaceEditCapabilities {
*
* @since 3.16.0
*/
- boost::optional<bool> normalizesLineEndings;;
+ optional<bool> normalizesLineEndings;;
/**
* Whether the client in general supports change annotations on text edits,
@@ -78,7 +78,7 @@ struct WorkspaceEditCapabilities {
*
* @since 3.16.0
*/
- boost::optional<lschangeAnnotationSupport> changeAnnotationSupport;
+ optional<lschangeAnnotationSupport> changeAnnotationSupport;
MAKE_SWAP_METHOD(WorkspaceEditCapabilities, documentChanges, resourceChanges, resourceOperations, failureHandling, normalizesLineEndings, changeAnnotationSupport)
@@ -88,7 +88,7 @@ MAKE_REFLECT_STRUCT(WorkspaceEditCapabilities,documentChanges, resourceChanges,
struct DynamicRegistrationCapabilities {
// Did foo notification supports dynamic registration.
- boost::optional<bool> dynamicRegistration;
+ optional<bool> dynamicRegistration;
MAKE_SWAP_METHOD(DynamicRegistrationCapabilities,
dynamicRegistration);
@@ -102,7 +102,7 @@ MAKE_REFLECT_STRUCT(DynamicRegistrationCapabilities,
// Workspace specific client capabilities.
struct SymbolKindCapabilities
{
- boost::optional< std::vector<lsSymbolKind> > valueSet;
+ optional< std::vector<lsSymbolKind> > valueSet;
MAKE_SWAP_METHOD(SymbolKindCapabilities, valueSet)
@@ -117,7 +117,7 @@ struct SymbolCapabilities :public DynamicRegistrationCapabilities {
/**
* Specific capabilities for the `SymbolKind` in the `workspace/symbol` request.
*/
- boost::optional<SymbolKindCapabilities> symbolKind;
+ optional<SymbolKindCapabilities> symbolKind;
MAKE_SWAP_METHOD(SymbolCapabilities,
symbolKind, dynamicRegistration)
@@ -132,37 +132,37 @@ struct lsFileOperations
* Whether the client supports dynamic registration for file
* requests/notifications.
*/
- boost::optional<bool> dynamicRegistration ;
+ optional<bool> dynamicRegistration ;
/**
* The client has support for sending didCreateFiles notifications.
*/
- boost::optional<bool>didCreate ;
+ optional<bool>didCreate ;
/**
* The client has support for sending willCreateFiles requests.
*/
- boost::optional<bool>willCreate ;
+ optional<bool>willCreate ;
/**
* The client has support for sending didRenameFiles notifications.
*/
- boost::optional<bool>didRename ;
+ optional<bool>didRename ;
/**
* The client has support for sending willRenameFiles requests.
*/
- boost::optional<bool>willRename ;
+ optional<bool>willRename ;
/**
* The client has support for sending didDeleteFiles notifications.
*/
- boost::optional<bool>didDelete ;
+ optional<bool>didDelete ;
/**
* The client has support for sending willDeleteFiles requests.
*/
- boost::optional<bool> willDelete ;
+ optional<bool> willDelete ;
MAKE_SWAP_METHOD(lsFileOperations, dynamicRegistration, didCreate, willCreate,
didRename, willRename, didDelete, willDelete)
};
@@ -171,28 +171,28 @@ MAKE_REFLECT_STRUCT(lsFileOperations, dynamicRegistration, didCreate, willCreate
struct lsWorkspaceClientCapabilites {
// The client supports applying batch edits to the workspace.
- boost::optional<bool> applyEdit;
+ optional<bool> applyEdit;
// Capabilities specific to `WorkspaceEdit`s
- boost::optional<WorkspaceEditCapabilities> workspaceEdit;
+ optional<WorkspaceEditCapabilities> workspaceEdit;
// Capabilities specific to the `workspace/didChangeConfiguration`
// notification.
- boost::optional<DynamicRegistrationCapabilities> didChangeConfiguration;
+ optional<DynamicRegistrationCapabilities> didChangeConfiguration;
// Capabilities specific to the `workspace/didChangeWatchedFiles`
// notification.
- boost::optional<DynamicRegistrationCapabilities> didChangeWatchedFiles;
+ optional<DynamicRegistrationCapabilities> didChangeWatchedFiles;
// Capabilities specific to the `workspace/symbol` request.
- boost::optional<SymbolCapabilities> symbol;
+ optional<SymbolCapabilities> symbol;
// Capabilities specific to the `workspace/executeCommand` request.
- boost::optional<DynamicRegistrationCapabilities> executeCommand;
+ optional<DynamicRegistrationCapabilities> executeCommand;
/**
@@ -200,14 +200,14 @@ struct lsWorkspaceClientCapabilites {
*
* Since 3.6.0
*/
- boost::optional<bool> workspaceFolders;
+ optional<bool> workspaceFolders;
/**
* The client supports `workspace/configuration` requests.
*
* Since 3.6.0
*/
- boost::optional<bool> configuration;
+ optional<bool> configuration;
/**
@@ -216,7 +216,7 @@ struct lsWorkspaceClientCapabilites {
*
* @since 3.16.0
*/
- boost::optional<DynamicRegistrationCapabilities> semanticTokens ;
+ optional<DynamicRegistrationCapabilities> semanticTokens ;
/**
* Capabilities specific to the code lens requests scoped to the
@@ -224,14 +224,14 @@ struct lsWorkspaceClientCapabilites {
*
* @since 3.16.0
*/
- boost::optional<DynamicRegistrationCapabilities> codeLens ;
+ optional<DynamicRegistrationCapabilities> codeLens ;
/**
* The client has support for file requests/notifications.
*
* @since 3.16.0
*/
- boost::optional<lsFileOperations> fileOperations;
+ optional<lsFileOperations> fileOperations;
MAKE_SWAP_METHOD(lsWorkspaceClientCapabilites,
applyEdit,
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
index bf70d58842..d21cfc52f8 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/progress.h
@@ -8,7 +8,7 @@
//and partial result progress to support streaming of results.
struct ProgressParams
{
- std::pair<boost::optional<std::string> , boost::optional<int> > token;
+ std::pair<optional<std::string> , optional<int> > token;
lsp::Any value;
MAKE_SWAP_METHOD(ProgressParams, token, value)
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
index 5366ff89d6..2571334503 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/general/shutdown.h
@@ -11,5 +11,5 @@
* that asks the server to exit.
*/
-DEFINE_REQUEST_RESPONSE_TYPE(td_shutdown, boost::optional<JsonNull>, boost::optional<lsp::Any>, "shutdown");
+DEFINE_REQUEST_RESPONSE_TYPE(td_shutdown, optional<JsonNull>, optional<lsp::Any>, "shutdown");
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
index 3f64946972..96b4b61fa9 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/language/language.h
@@ -89,7 +89,7 @@ struct ActionableNotification {
*
*/
- boost::optional<lsp::Any> data;
+ optional<lsp::Any> data;
/**
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
index c4197917a9..f1d8070bf5 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/location_type.h
@@ -35,7 +35,7 @@ struct LocationLink
* Used as the underlined span for mouse interaction. Defaults to the word range at
* the mouse position.
*/
- boost::optional<lsRange> originSelectionRange;
+ optional<lsRange> originSelectionRange;
/**
* The target resource identifier of this link.
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
index 035382669f..49a917e4f6 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsAny.h
@@ -64,7 +64,7 @@ namespace lsp
template <typename T>
bool GetForMapHelper(T& value);
bool GetForMapHelper(std::string& value);
- bool GetForMapHelper(boost::optional<std::string>& value);
+ bool GetForMapHelper(optional<std::string>& value);
private:
std::unique_ptr<Reader> GetReader();
std::unique_ptr<Writer> GetWriter() const;
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
index cf0a2aa65b..1b398cae2b 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCodeAction.h
@@ -24,24 +24,24 @@ struct CodeAction
*
* Used to filter code actions.
*/
- boost::optional < std::string> kind;
+ optional < std::string> kind;
/**
* The diagnostics that this code action resolves.
*/
- boost::optional < std::vector<lsDiagnostic>> diagnostics;
+ optional < std::vector<lsDiagnostic>> diagnostics;
/**
* The workspace edit this code action performs.
*/
- boost::optional < lsWorkspaceEdit >edit;
+ optional < lsWorkspaceEdit >edit;
/**
* A command this code action executes. If a code action
* provides a edit and a command, first the edit is
* executed and then the command.
*/
- boost::optional< lsCommandWithAny > command;
+ optional< lsCommandWithAny > command;
MAKE_SWAP_METHOD(CodeAction, title, kind, diagnostics, edit, command)
};
@@ -50,7 +50,7 @@ struct TextDocumentCodeAction
{
- typedef std::pair<boost::optional<lsCommandWithAny>, boost::optional<CodeAction> > Either;
+ typedef std::pair<optional<lsCommandWithAny>, optional<CodeAction> > Either;
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
index 88ced6e41c..2d624c3d99 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsCommand.h
@@ -22,7 +22,7 @@ struct lsCommand {
// Arguments to run the command with.
// **NOTE** This must be serialized as an array. Use
// MAKE_REFLECT_STRUCT_WRITER_AS_ARRAY.
- boost::optional<AnyArray> arguments;
+ optional<AnyArray> arguments;
void swap(lsCommand<AnyArray>& arg) noexcept
{
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
index cc3ad4bbac..0c3999896b 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsFormattingOptions.h
@@ -4,9 +4,9 @@
struct lsFormattingOptions {
struct KeyData {
- boost::optional<bool> _boolean;
- boost::optional<int32_t> _integer;
- boost::optional<std::string> _string;
+ optional<bool> _boolean;
+ optional<int32_t> _integer;
+ optional<std::string> _string;
};
// Size of a tab in spaces.
@@ -19,22 +19,22 @@ struct lsFormattingOptions {
*
* @since 3.15.0
*/
- boost::optional<bool> trimTrailingWhitespace;
+ optional<bool> trimTrailingWhitespace;
/**
* Insert a newline character at the end of the file if one does not exist.
*
* @since 3.15.0
*/
- boost::optional<bool> insertFinalNewline;
+ optional<bool> insertFinalNewline;
/**
* Trim all newlines after the final newline at the end of the file.
*
* @since 3.15.0
*/
- boost::optional<bool> trimFinalNewlines;
- boost::optional<KeyData> key;
+ optional<bool> trimFinalNewlines;
+ optional<KeyData> key;
MAKE_SWAP_METHOD(lsFormattingOptions, tabSize, insertSpaces, trimTrailingWhitespace, insertFinalNewline, trimFinalNewlines, key)
};
MAKE_REFLECT_STRUCT(lsFormattingOptions, tabSize, insertSpaces, trimTrailingWhitespace, insertFinalNewline, trimFinalNewlines, key);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
index 975ee4fed0..8478c055c5 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsMarkedString.h
@@ -20,7 +20,7 @@
// Note that markdown strings will be sanitized - that means html will be
// escaped.
struct lsMarkedString {
- boost::optional<std::string> language;
+ optional<std::string> language;
std::string value;
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
index 9b0120e3e4..254e76f757 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsResponseError.h
@@ -108,7 +108,7 @@ struct lsResponseError {
* A primitive or structured value that contains additional
* information about the error. Can be omitted.
*/
- boost::optional<lsp::Any> data;
+ optional<lsp::Any> data;
std::string ToString();
void Write(Writer& visitor);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
index 6f0940c0b2..a46fa22a9e 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextDocumentPositionParams.h
@@ -18,7 +18,7 @@ struct lsTextDocumentPositionParams {
/**
* Legacy property to support protocol version 1.0 requests.
*/
- boost::optional<lsDocumentUri> uri;
+ optional<lsDocumentUri> uri;
MAKE_SWAP_METHOD(lsTextDocumentPositionParams, textDocument, position, uri);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
index de06e85e92..29699c9c31 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsTextEdit.h
@@ -27,13 +27,13 @@ struct lsChangeAnnotation
* A flag which indicates that user confirmation is needed
* before applying the change.
*/
- boost::optional<bool> needsConfirmation;
+ optional<bool> needsConfirmation;
/**
* A human-readable string which is rendered less prominent in
* the user interface.
*/
- boost::optional < std::string > description;
+ optional < std::string > description;
MAKE_REFLECT_STRUCT(lsChangeAnnotation, label, needsConfirmation, description)
};
MAKE_REFLECT_STRUCT(lsChangeAnnotation, label, needsConfirmation, description)
@@ -75,7 +75,7 @@ struct lsTextEdit {
/**
* The actual annotation identifier.
*/
- boost::optional<lsChangeAnnotationIdentifier> annotationId;
+ optional<lsChangeAnnotationIdentifier> annotationId;
bool operator==(const lsTextEdit& that);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
index 7e8ccbd635..2b17a4fb0b 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsVersionedTextDocumentIdentifier.h
@@ -10,7 +10,7 @@ struct lsVersionedTextDocumentIdentifier
{
lsDocumentUri uri;
// The version number of this document. number | null
- boost::optional<int> version;
+ optional<int> version;
lsTextDocumentIdentifier AsTextDocumentIdentifier() const;
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
index 4df020d7a2..4caf296c28 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsWorkspaceEdit.h
@@ -33,10 +33,10 @@ struct lsWorkspaceEdit {
// version of a text document. Whether a client supports versioned document
// edits is expressed via `WorkspaceClientCapabilites.versionedWorkspaceEdit`.
//
- boost::optional< std::map<std::string, std::vector<lsTextEdit> > > changes;
- typedef std::pair < boost::optional<lsTextDocumentEdit>, boost::optional<lsp::Any> > Either;
+ optional< std::map<std::string, std::vector<lsTextEdit> > > changes;
+ typedef std::pair < optional<lsTextDocumentEdit>, optional<lsp::Any> > Either;
- boost::optional < std::vector< Either > > documentChanges;
+ optional < std::vector< Either > > documentChanges;
/**
* A map of change annotations that can be referenced in
* `AnnotatedTextEdit`s or create, rename and delete file / folder
@@ -47,7 +47,7 @@ struct lsWorkspaceEdit {
*
* @since 3.16.0
*/
- boost::optional< lsChangeAnnotations > changeAnnotations;
+ optional< lsChangeAnnotations > changeAnnotations;
MAKE_SWAP_METHOD(lsWorkspaceEdit, changes, documentChanges, changeAnnotations)
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
index d434b31d13..fca45e9cb7 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_completion.h
@@ -75,20 +75,20 @@ struct lsCompletionItem {
// The kind of this completion item. Based of the kind
// an icon is chosen by the editor.
- boost::optional<lsCompletionItemKind> kind ;
+ optional<lsCompletionItemKind> kind ;
// A human-readable string with additional information
// about this item, like type or symbol information.
- boost::optional < std::string > detail;
+ optional < std::string > detail;
// A human-readable string that represents a doc-comment.
- boost::optional< std::pair<boost::optional< std::string> , boost::optional<MarkupContent> > > documentation;
+ optional< std::pair<optional< std::string> , optional<MarkupContent> > > documentation;
/**
* Indicates if this item is deprecated.
*/
- boost::optional< bool >deprecated;
+ optional< bool >deprecated;
/**
@@ -98,7 +98,7 @@ struct lsCompletionItem {
* tool / client decides which item that is. The rule is that the *first
* item of those that match best is selected.
*/
- boost::optional< bool > preselect;
+ optional< bool > preselect;
// Internal information to order candidates.
@@ -106,33 +106,33 @@ struct lsCompletionItem {
// A string that shoud be used when comparing this item
// with other items. When `falsy` the label is used.
- boost::optional< std::string > sortText;
+ optional< std::string > sortText;
// A string that should be used when filtering a set of
// completion items. When `falsy` the label is used.
- boost::optional<std::string> filterText;
+ optional<std::string> filterText;
// A string that should be inserted a document when selecting
// this completion. When `falsy` the label is used.
- boost::optional<std::string> insertText;
+ optional<std::string> insertText;
// The format of the insert text. The format applies to both the `insertText`
// property and the `newText` property of a provided `textEdit`.
- boost::optional< lsInsertTextFormat> insertTextFormat ;
+ optional< lsInsertTextFormat> insertTextFormat ;
// An edit which is applied to a document when selecting this completion. When
// an edit is provided the value of `insertText` is ignored.
//
// *Note:* The range of the edit must be a single line range and it must
// contain the position at which completion has been requested.
- boost::optional<lsTextEdit> textEdit;
+ optional<lsTextEdit> textEdit;
- // An boost::optional array of additional text edits that are applied when
+ // An optional array of additional text edits that are applied when
// selecting this completion. Edits must not overlap with the main edit
// nor with themselves.
// std::vector<TextEdit> additionalTextEdits;
- // An boost::optional command that is executed *after* inserting this completion.
+ // An optional command that is executed *after* inserting this completion.
// *Note* that additional modifications to the current document should be
// described with the additionalTextEdits-property. Command command;
@@ -147,7 +147,7 @@ struct lsCompletionItem {
std::string DisplayText();
/**
- * An boost::optional array of additional text edits that are applied when
+ * An optional array of additional text edits that are applied when
* selecting this completion. Edits must not overlap (including the same insert position)
* with the main edit nor with themselves.
*
@@ -155,26 +155,26 @@ struct lsCompletionItem {
* (for example adding an import statement at the top of the file if the completion item will
* insert an unqualified type).
*/
- boost::optional<std::vector<lsTextEdit> >additionalTextEdits;
+ optional<std::vector<lsTextEdit> >additionalTextEdits;
/**
-* An boost::optional set of characters that when pressed while this completion is active will accept it first and
+* An optional set of characters that when pressed while this completion is active will accept it first and
* then type that character. *Note* that all commit characters should have `length=1` and that superfluous
* characters will be ignored.
*/
- boost::optional< std::vector<std::string> > commitCharacters;
+ optional< std::vector<std::string> > commitCharacters;
/**
-* An boost::optional command that is executed *after* inserting this completion. *Note* that
+* An optional command that is executed *after* inserting this completion. *Note* that
* additional modifications to the current document should be described with the
* additionalTextEdits-property.
*/
- boost::optional<lsCommandWithAny> command;
+ optional<lsCommandWithAny> command;
/**
* An data entry field that is preserved on a completion item between a completion and a completion resolve request.
*/
- boost::optional<lsp::Any> data;
+ optional<lsp::Any> data;
std::string ToString();
MAKE_SWAP_METHOD(lsCompletionItem,
label,
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
index 3ddea4b9ee..e05e816b69 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/lsp_diagnostic.h
@@ -1,4 +1,5 @@
#pragma once
+#include <optional>
#include "lsRange.h"
#include "lsTextEdit.h"
#include "lsDocumentUri.h"
@@ -92,15 +93,15 @@ struct lsDiagnostic {
// The diagnostic's severity. Can be omitted. If omitted it is up to the
// client to interpret diagnostics as error, warning, info or hint.
- boost::optional<lsDiagnosticSeverity> severity;
+ optional<lsDiagnosticSeverity> severity;
// The diagnostic's code. Can be omitted.
- boost::optional< std::pair<boost::optional<std::string>, boost::optional<int>> > code;
+ optional< std::pair<optional<std::string>, optional<int>> > code;
- boost::optional<DiagnosticCodeDescription> codeDescription;
+ optional<DiagnosticCodeDescription> codeDescription;
// A human-readable string describing the source of this
// diagnostic, e.g. 'typescript' or 'super lint'.
- boost::optional < std::string >source ;
+ optional < std::string >source ;
// The diagnostic's message.
std::string message;
@@ -113,7 +114,7 @@ struct lsDiagnostic {
*
* @since 3.15.0
*/
- boost::optional<std::vector<DiagnosticTag>> tags;
+ optional<std::vector<DiagnosticTag>> tags;
/**
@@ -122,7 +123,7 @@ struct lsDiagnostic {
*
* Since 3.7.0
*/
- boost::optional<std::vector<DiagnosticRelatedInformation>> relatedInformation;
+ optional<std::vector<DiagnosticRelatedInformation>> relatedInformation;
/**
* A data entry field that is preserved between a
@@ -131,7 +132,7 @@ struct lsDiagnostic {
*
* @since 3.16.0
*/
- boost::optional<lsp::Any> data;
+ optional<lsp::Any> data;
bool operator==(const lsDiagnostic& rhs) const;
bool operator!=(const lsDiagnostic& rhs) const;
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
index 60f8ba3c7f..8ede0b4a60 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/out_list.h
@@ -15,7 +15,7 @@
namespace LocationListEither{
- typedef std::pair< boost::optional<std::vector<lsLocation>> , boost::optional<std::vector<LocationLink> > > Either;
+ typedef std::pair< optional<std::vector<lsLocation>> , optional<std::vector<LocationLink> > > Either;
};
extern void Reflect(Reader& visitor, LocationListEither::Either& value);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
index 87ebfe89ed..216c3f7d13 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/symbol.h
@@ -66,7 +66,7 @@ struct lsDocumentHighlight {
lsRange range;
// The highlight kind, default is DocumentHighlightKind.Text.
- boost::optional<lsDocumentHighlightKind> kind ;
+ optional<lsDocumentHighlightKind> kind ;
MAKE_SWAP_METHOD(lsDocumentHighlight, range, kind)
};
@@ -85,7 +85,7 @@ struct lsSymbolInformation {
/**
* Indicates if this symbol is deprecated.
*/
- boost::optional<bool> deprecated;
+ optional<bool> deprecated;
/**
* The location of this symbol. The location's range is used by a tool
* to reveal the location in the editor. If the symbol is selected in the
@@ -104,7 +104,7 @@ struct lsSymbolInformation {
* if necessary). It can't be used to re-infer a hierarchy for the document
* symbols.
*/
- boost::optional<std::string> containerName;
+ optional<std::string> containerName;
MAKE_SWAP_METHOD(lsSymbolInformation, name, kind, deprecated, location, containerName);
@@ -144,17 +144,17 @@ struct lsDocumentSymbol {
* More detail for this symbol, e.g the signature of a function. If not provided the
* name is used.
*/
- boost::optional< std::string > detail;
+ optional< std::string > detail;
/**
* Indicates if this symbol is deprecated.
*/
- boost::optional< bool > deprecated;
+ optional< bool > deprecated;
/**
* Children of this symbol, e.g. properties of a class.
*/
- boost::optional < std::vector<lsDocumentSymbol> > children;
+ optional < std::vector<lsDocumentSymbol> > children;
//internal use
int flags=0;
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
index 7f5978ff84..8a24ebdd45 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/SemanticTokens.h
@@ -199,7 +199,7 @@ struct SemanticTokens{
* A server can then instead of computing all semantic tokens again simply
* send a delta.
*/
- boost::optional<std::string> resultId;
+ optional<std::string> resultId;
MAKE_SWAP_METHOD(SemanticTokens, data, resultId)
};
MAKE_REFLECT_STRUCT(SemanticTokens, data, resultId)
@@ -245,12 +245,12 @@ MAKE_REFLECT_STRUCT(SemanticTokensEdit, startToken, deleteTokens, tokens)
/// This models LSP SemanticTokensDelta | SemanticTokens, which is the result of
/// textDocument/semanticTokens/full/delta.
struct SemanticTokensOrDelta {
- boost::optional<std::string > resultId;
+ optional<std::string > resultId;
/// Set if we computed edits relative to a previous set of tokens.
- boost::optional< std::vector<SemanticTokensEdit> > edits;
+ optional< std::vector<SemanticTokensEdit> > edits;
/// Set if we computed a fresh set of tokens.
/// Set if we computed edits relative to a previous set of tokens.
- boost::optional<std::vector<int32_t>> tokens; // encoded as integer array
+ optional<std::vector<int32_t>> tokens; // encoded as integer array
MAKE_REFLECT_STRUCT(SemanticTokensOrDelta, resultId, edits, tokens)
};
MAKE_REFLECT_STRUCT(SemanticTokensOrDelta, resultId, edits, tokens)
@@ -263,5 +263,5 @@ struct SemanticTokensLegend {
};
MAKE_REFLECT_STRUCT(SemanticTokensLegend, tokenTypes, tokenModifiers)
-DEFINE_REQUEST_RESPONSE_TYPE(td_semanticTokens_full, SemanticTokensParams,boost::optional<SemanticTokens >,"textDocument/semanticTokens/full")
-DEFINE_REQUEST_RESPONSE_TYPE(td_semanticTokens_full_delta, SemanticTokensDeltaParams, boost::optional<SemanticTokensOrDelta >, "textDocument/semanticTokens/full/delta")
+DEFINE_REQUEST_RESPONSE_TYPE(td_semanticTokens_full, SemanticTokensParams,optional<SemanticTokens >,"textDocument/semanticTokens/full")
+DEFINE_REQUEST_RESPONSE_TYPE(td_semanticTokens_full_delta, SemanticTokensDeltaParams, optional<SemanticTokensOrDelta >, "textDocument/semanticTokens/full/delta")
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
index 432fa518d5..408767d937 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/callHierarchy.h
@@ -35,10 +35,10 @@ struct CallHierarchyItem {
SymbolKind kind;
/// Tags for this item.
- boost::optional<std::vector<SymbolTag>> tags;
+ optional<std::vector<SymbolTag>> tags;
/// More detaill for this item, e.g. the signature of a function.
- boost::optional<std::string> detail;
+ optional<std::string> detail;
/// The resource identifier of this item.
lsDocumentUri uri;
@@ -60,7 +60,7 @@ struct CallHierarchyItem {
* A data entry field that is preserved between a call hierarchy prepare and
* incoming calls or outgoing calls requests.
*/
- boost::optional<lsp::Any> data;
+ optional<lsp::Any> data;
MAKE_SWAP_METHOD(CallHierarchyItem, name, kind, tags, detail, uri, range, selectionRange, data)
};
MAKE_REFLECT_STRUCT(CallHierarchyItem, name, kind, tags, detail, uri, range, selectionRange, data)
@@ -112,10 +112,10 @@ MAKE_REFLECT_STRUCT(CallHierarchyOutgoingCall, to, fromRanges)
DEFINE_REQUEST_RESPONSE_TYPE(td_prepareCallHierarchy, CallHierarchyPrepareParams,
- boost::optional<std::vector<CallHierarchyItem>>, "textDocument/prepareCallHierarchy")
+ optional<std::vector<CallHierarchyItem>>, "textDocument/prepareCallHierarchy")
DEFINE_REQUEST_RESPONSE_TYPE(td_incomingCalls, CallHierarchyIncomingCallsParams,
- boost::optional<std::vector<CallHierarchyIncomingCall>>, "callHierarchy/incomingCalls")
+ optional<std::vector<CallHierarchyIncomingCall>>, "callHierarchy/incomingCalls")
DEFINE_REQUEST_RESPONSE_TYPE(td_outgoingCalls, CallHierarchyOutgoingCallsParams,
- boost::optional<std::vector<CallHierarchyOutgoingCall>>, "callHierarchy/CallHierarchyOutgoingCall")
+ optional<std::vector<CallHierarchyOutgoingCall>>, "callHierarchy/CallHierarchyOutgoingCall")
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
index 9dd763333d..b9241de06b 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/code_lens.h
@@ -21,10 +21,10 @@ struct lsCodeLens {
// The range in which this code lens is valid. Should only span a single line.
lsRange range;
// The command this code lens represents.
- boost::optional<lsCommandWithAny> command;
+ optional<lsCommandWithAny> command;
// A data entry field that is preserved on a code lens item between
// a code lens and a code lens resolve request.
- boost::optional< lsp::Any> data;
+ optional< lsp::Any> data;
MAKE_SWAP_METHOD(lsCodeLens, range, command, data)
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
index 916d4550e9..edcf1e1724 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/completion.h
@@ -30,7 +30,7 @@ struct lsCompletionContext {
// The trigger character (a single character) that has trigger code complete.
// Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
- boost::optional<std::string> triggerCharacter;
+ optional<std::string> triggerCharacter;
MAKE_SWAP_METHOD(lsCompletionContext, triggerKind, triggerCharacter);
};
@@ -40,7 +40,7 @@ struct lsCompletionParams : lsTextDocumentPositionParams {
// The completion context. This is only available it the client specifies to
// send this using
// `ClientCapabilities.textDocument.completion.contextSupport === true`
- boost::optional<lsCompletionContext> context;
+ optional<lsCompletionContext> context;
MAKE_SWAP_METHOD(lsCompletionParams, textDocument, position, context);
@@ -57,7 +57,7 @@ MAKE_REFLECT_STRUCT(lsCompletionParams, textDocument, position, context);
namespace TextDocumentComplete{
- typedef std::pair< boost::optional<std::vector<lsCompletionItem>>, boost::optional<CompletionList> > Either;
+ typedef std::pair< optional<std::vector<lsCompletionItem>>, optional<CompletionList> > Either;
};
extern void Reflect(Reader& visitor, TextDocumentComplete::Either& value);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
index a7c6fdba34..d88d0e1307 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/didRenameFiles.h
@@ -38,7 +38,7 @@ public:
MAKE_REFLECT_STRUCT(FileRenameParams, files);
-DEFINE_REQUEST_RESPONSE_TYPE(td_didRenameFiles, FileRenameParams, boost::optional<lsWorkspaceEdit>, "java/didRenameFiles");
+DEFINE_REQUEST_RESPONSE_TYPE(td_didRenameFiles, FileRenameParams, optional<lsWorkspaceEdit>, "java/didRenameFiles");
-DEFINE_REQUEST_RESPONSE_TYPE(td_willRenameFiles, FileRenameParams, boost::optional<lsWorkspaceEdit>, "java/willRenameFiles");
+DEFINE_REQUEST_RESPONSE_TYPE(td_willRenameFiles, FileRenameParams, optional<lsWorkspaceEdit>, "java/willRenameFiles");
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
index fda407f93f..8450bd343a 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_change.h
@@ -9,9 +9,9 @@
#include "LibLsp/lsp/lsDocumentUri.h"
struct lsTextDocumentContentChangeEvent {
// The range of the document that changed.
- boost::optional<lsRange> range;
+ optional<lsRange> range;
// The length of the range that got replaced.
- boost::optional<int> rangeLength;
+ optional<int> rangeLength;
// The new text of the range/document.
std::string text;
@@ -28,7 +28,7 @@ struct lsTextDocumentDidChangeParams {
* Legacy property to support protocol version 1.0 requests.
*/
- boost::optional<lsDocumentUri> uri;
+ optional<lsDocumentUri> uri;
void swap(lsTextDocumentDidChangeParams& arg) noexcept
{
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
index ed5dfa535f..379f35989f 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_open.h
@@ -16,7 +16,7 @@ namespace TextDocumentDidOpen {
/**
* Legacy property to support protocol version 1.0 requests.
*/
- boost::optional<std::string> text;
+ optional<std::string> text;
MAKE_SWAP_METHOD(TextDocumentDidOpen::Params, textDocument, text);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
index 649c9b76ec..5d00af0c20 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/did_save.h
@@ -13,7 +13,7 @@ namespace TextDocumentDidSave {
// Optional the content when saved. Depends on the includeText value
// when the save notifcation was requested.
- boost::optional<std::string> text;
+ optional<std::string> text;
MAKE_SWAP_METHOD(TextDocumentDidSave::Params, textDocument, text);
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
index e450a08df1..92f02b24f1 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_link.h
@@ -24,9 +24,9 @@ struct lsDocumentLink {
// The range this link applies to.
lsRange range;
// The uri this link points to. If missing a resolve request is sent later.
- boost::optional<lsDocumentUri> target;
+ optional<lsDocumentUri> target;
- boost::optional<lsp::Any> data;
+ optional<lsp::Any> data;
MAKE_SWAP_METHOD(lsDocumentLink, range, target, data)
@@ -34,11 +34,11 @@ struct lsDocumentLink {
MAKE_REFLECT_STRUCT(lsDocumentLink, range, target,data);
-DEFINE_REQUEST_RESPONSE_TYPE(td_links, TextDocumentDocumentLink::Params, lsDocumentLink, "textDocument/documentLink");
+DEFINE_REQUEST_RESPONSE_TYPE(td_links, TextDocumentDocumentLink::Params, std::vector<lsDocumentLink>, "textDocument/documentLink");
/**
* The document link resolve request is sent from the client to the server to resolve the target of a given document link.
*/
-DEFINE_REQUEST_RESPONSE_TYPE(td_linkResolve, std::vector<lsDocumentLink>, lsDocumentLink, "documentLink/resolve");
+DEFINE_REQUEST_RESPONSE_TYPE(td_linkResolve, lsDocumentLink, lsDocumentLink, "documentLink/resolve");
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
index 150dde1f0b..b01ffe0dc7 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/document_symbol.h
@@ -18,7 +18,7 @@ MAKE_REFLECT_STRUCT(lsDocumentSymbolParams, textDocument);
struct TextDocumentDocumentSymbol{
- typedef std::pair< boost::optional<lsSymbolInformation> , boost::optional<lsDocumentSymbol> > Either;
+ typedef std::pair< optional<lsSymbolInformation> , optional<lsDocumentSymbol> > Either;
};
void Reflect(Reader& visitor, TextDocumentDocumentSymbol::Either& value);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
index 06f3f9613e..f2c15c3c44 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/hover.h
@@ -16,8 +16,8 @@
namespace TextDocumentHover
{
- typedef boost::optional< std::vector< std::pair<boost::optional<std::string>, boost::optional<lsMarkedString>> > > Left;
- typedef std::pair< Left, boost::optional<MarkupContent> > Either;
+ typedef optional< std::vector< std::pair<optional<std::string>, optional<lsMarkedString>> > > Left;
+ typedef std::pair< Left, optional<MarkupContent> > Either;
struct Result {
/**
* The hover's content as markdown
@@ -25,16 +25,16 @@ namespace TextDocumentHover
Either contents;
/**
- * An boost::optional range
+ * An optional range
*/
- boost::optional<lsRange> range;
+ optional<lsRange> range;
MAKE_SWAP_METHOD(Result, contents, range)
};
}
MAKE_REFLECT_STRUCT(TextDocumentHover::Result, contents, range);
-extern void Reflect(Reader& visitor, std::pair<boost::optional<std::string>, boost::optional<lsMarkedString>>& value);
+extern void Reflect(Reader& visitor, std::pair<optional<std::string>, optional<lsMarkedString>>& value);
extern void Reflect(Reader& visitor, TextDocumentHover::Either& value);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
index 96e938a89f..dfac99d378 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/linkedEditingRange.h
@@ -38,7 +38,7 @@ struct LinkedEditingRanges
* pattern will be used.
*/
- boost::optional<std::string> wordPattern;
+ optional<std::string> wordPattern;
MAKE_SWAP_METHOD(LinkedEditingRanges,
ranges,
wordPattern)
@@ -48,4 +48,4 @@ MAKE_REFLECT_STRUCT(LinkedEditingRanges,
ranges,
wordPattern)
DEFINE_REQUEST_RESPONSE_TYPE(td_linkedEditingRange, LinkedEditingRangeParams,
- boost::optional<std::vector<LinkedEditingRanges >>,"textDocument/linkedEditingRange")
+ optional<std::vector<LinkedEditingRanges >>,"textDocument/linkedEditingRange")
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
index a7ece38114..1ffe5456f7 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/prepareRename.h
@@ -32,7 +32,7 @@ MAKE_REFLECT_STRUCT(PrepareRenameResult,range,placeholder)
-typedef std::pair< boost::optional< lsRange>, boost::optional<PrepareRenameResult>> TextDocumentPrepareRenameResult;
+typedef std::pair< optional< lsRange>, optional<PrepareRenameResult>> TextDocumentPrepareRenameResult;
extern void Reflect(Reader& visitor, TextDocumentPrepareRenameResult& value);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
index f398a0b859..46782c3d6d 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/references.h
@@ -11,7 +11,7 @@ namespace TextDocumentReferences {
struct lsReferenceContext {
// Include the declaration of the current symbol.
- boost::optional<bool> includeDeclaration;
+ optional<bool> includeDeclaration;
MAKE_REFLECT_STRUCT(lsReferenceContext,
includeDeclaration)
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
index dceba1fb8f..8b5f115af7 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/resolveTypeHierarchy.h
@@ -18,7 +18,7 @@ struct ResolveTypeHierarchyItemParams {
/**
* The number of hierarchy levels to resolve. {@code 0} indicates no hierarchy level.
*/
- boost::optional<int> resolve;
+ optional<int> resolve;
/**
* The direction of the type hierarchy resolution.
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
index 91915275bd..2c908bd57f 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/selectionRange.h
@@ -35,11 +35,11 @@ struct SelectionRange {
/**
* The parent selection range containing this range. Therefore `parent.range` must contain `this.range`.
*/
- boost::optional<SelectionRange*> parent;
+ optional<SelectionRange*> parent;
MAKE_SWAP_METHOD(SelectionRange, range, parent)
};
-extern void Reflect(Reader& visitor, boost::optional<SelectionRange*>& value);
+extern void Reflect(Reader& visitor, optional<SelectionRange*>& value);
extern void Reflect(Writer& visitor, SelectionRange* value);
MAKE_REFLECT_STRUCT(SelectionRange,range,parent)
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
index 837096695e..bb5cd1dc52 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/signature_help.h
@@ -7,7 +7,7 @@
#include "LibLsp/lsp/lsTextDocumentPositionParams.h"
extern void Reflect(Reader& visitor,
- std::pair<boost::optional<std::string>, boost::optional<MarkupContent>>& value);
+ std::pair<optional<std::string>, optional<MarkupContent>>& value);
@@ -20,7 +20,7 @@ struct lsParameterInformation {
// The human-readable doc-comment of this parameter. Will be shown
// in the UI but can be omitted.
- boost::optional< std::pair< boost::optional<std::string> , boost::optional <MarkupContent> > > documentation;
+ optional< std::pair< optional<std::string> , optional <MarkupContent> > > documentation;
MAKE_SWAP_METHOD(lsParameterInformation, label, documentation)
};
@@ -36,7 +36,7 @@ struct lsSignatureInformation {
// The human-readable doc-comment of this signature. Will be shown
// in the UI but can be omitted.
- boost::optional< std::pair< boost::optional<std::string>, boost::optional <MarkupContent> > > documentation;
+ optional< std::pair< optional<std::string>, optional <MarkupContent> > > documentation;
// The parameters of this signature.
std::vector<lsParameterInformation> parameters;
@@ -59,7 +59,7 @@ struct lsSignatureHelp {
// rely on a default value.
// In future version of the protocol this property might become
// mandantory to better express this.
- boost::optional<int> activeSignature;
+ optional<int> activeSignature;
// The active parameter of the active signature. If omitted or the value
// lies outside the range of `signatures[activeSignature].parameters`
@@ -68,7 +68,7 @@ struct lsSignatureHelp {
// In future version of the protocol this property might become
// mandantory to better express the active parameter if the
// active signature does have any.
- boost::optional<int> activeParameter;
+ optional<int> activeParameter;
MAKE_SWAP_METHOD(lsSignatureHelp,
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
index 384cfb68c9..8fe99edd87 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/typeHierarchy.h
@@ -42,8 +42,8 @@ void Reflect(Writer& writer, TypeHierarchyDirection& value);
struct TypeHierarchyParams :public lsTextDocumentPositionParams
{
- boost::optional<int> resolve;
- boost::optional<TypeHierarchyDirection> direction ;
+ optional<int> resolve;
+ optional<TypeHierarchyDirection> direction ;
MAKE_SWAP_METHOD(TypeHierarchyParams, textDocument, position, resolve, direction)
};
@@ -67,7 +67,7 @@ struct TypeHierarchyItem {
/**
* Optional detail for the hierarchy item. It can be, for instance, the signature of a function or method.
*/
- boost::optional<std::string>
+ optional<std::string>
detail;
/**
@@ -80,7 +80,7 @@ struct TypeHierarchyItem {
* {@code true} if the hierarchy item is deprecated. Otherwise, {@code false}. It is {@code false} by default.
*/
- boost::optional<bool> deprecated;
+ optional<bool> deprecated;
/**
* The URI of the text document where this type hierarchy item belongs to.
@@ -111,18 +111,18 @@ struct TypeHierarchyItem {
* If this type hierarchy item is resolved, it contains the direct parents. Could be empty if the item does not have any
* direct parents. If not defined, the parents have not been resolved yet.
*/
- boost::optional< std::vector<TypeHierarchyItem> > parents;
+ optional< std::vector<TypeHierarchyItem> > parents;
/**
* If this type hierarchy item is resolved, it contains the direct children of the current item.
* Could be empty if the item does not have any descendants. If not defined, the children have not been resolved.
*/
- boost::optional< std::vector<TypeHierarchyItem> > children;
+ optional< std::vector<TypeHierarchyItem> > children;
/**
- * An boost::optional data field can be used to identify a type hierarchy item in a resolve request.
+ * An optional data field can be used to identify a type hierarchy item in a resolve request.
*/
- boost::optional<lsp::Any> data;
+ optional<lsp::Any> data;
MAKE_SWAP_METHOD(TypeHierarchyItem, name, detail, kind, deprecated, uri, range, selectionRange, parents, children, data)
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
index 29afcac41a..4fe33d1dcc 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/textDocument/willSave.h
@@ -40,7 +40,7 @@ namespace WillSaveTextDocumentParams {
* A reason why a text document is saved.
*/
- boost::optional<TextDocumentSaveReason> reason;
+ optional<TextDocumentSaveReason> reason;
MAKE_SWAP_METHOD(Params, textDocument, reason);
};
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
index 95064c34d6..5f1769f80a 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/utils.h
@@ -7,7 +7,7 @@
#include <memory>
#include <string>
#include <vector>
-#include <boost/optional/optional.hpp>
+#include <optional>
#include <LibLsp/lsp/AbsolutePath.h>
#include "lsPosition.h"
@@ -80,7 +80,7 @@ std::string EscapeFileName(std::string path);
// FIXME: Move ReadContent into ICacheManager?
bool FileExists(const std::string& filename);
-boost::optional<std::string> ReadContent(const AbsolutePath& filename);
+optional<std::string> ReadContent(const AbsolutePath& filename);
std::vector<std::string> ReadLinesWithEnding(const AbsolutePath& filename);
bool WriteToFile(const std::string& filename, const std::string& content);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
index d1d4bc85df..eb1f250b2f 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/applyEdit.h
@@ -33,7 +33,7 @@ MAKE_REFLECT_STRUCT(ApplyWorkspaceEditParams, edit, label);
struct ApplyWorkspaceEditResponse
{
bool applied;
- boost::optional<std::string> failureReason;
+ optional<std::string> failureReason;
MAKE_SWAP_METHOD(ApplyWorkspaceEditResponse, applied, failureReason)
};
MAKE_REFLECT_STRUCT(ApplyWorkspaceEditResponse, applied, failureReason);
diff --git a/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h b/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
index 1ba33b501c..136c1d777b 100644
--- a/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
+++ b/graphics/asymptote/LspCpp/include/LibLsp/lsp/workspace/workspaceFolders.h
@@ -30,5 +30,5 @@ MAKE_REFLECT_STRUCT(WorkspaceFolder, uri, name);
* the workspace folders otherwise.
*/
DEFINE_REQUEST_RESPONSE_TYPE(WorkspaceFolders,
- boost::optional<JsonNull>, boost::optional<std::vector< WorkspaceFolder>>, "workspace/workspaceFolders");
+ optional<JsonNull>, optional<std::vector< WorkspaceFolder>>, "workspace/workspaceFolders");
diff --git a/graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp b/graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
index e8bdc073f3..b501d35a18 100644
--- a/graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
+++ b/graphics/asymptote/LspCpp/src/jsonrpc/RemoteEndPoint.cpp
@@ -15,6 +15,7 @@
#include "LibLsp/JsonRpc/ScopeExit.h"
#include "LibLsp/JsonRpc/stream.h"
#include <atomic>
+#include <optional>
#include <boost/asio/thread_pool.hpp>
#include <boost/asio/post.hpp>
@@ -103,7 +104,7 @@ namespace lsp {
/// (If the context is within multiple nested tasks, true if any are cancelled).
/// Always zero if there is no active cancelable task.
/// This isn't free (context lookup) - don't call it in a tight loop.
- boost::optional<CancelMonitor> getCancelledMonitor(const lsRequestId& id, const Context& ctx = Context::current()){
+ optional<CancelMonitor> getCancelledMonitor(const lsRequestId& id, const Context& ctx = Context::current()){
for (const CancelState* state = ctx.get(g_stateKey); state != nullptr;
state = state->parent)
{
diff --git a/graphics/asymptote/LspCpp/src/lsp/initialize.cpp b/graphics/asymptote/LspCpp/src/lsp/initialize.cpp
index 7348cbd0df..504caa3e65 100644
--- a/graphics/asymptote/LspCpp/src/lsp/initialize.cpp
+++ b/graphics/asymptote/LspCpp/src/lsp/initialize.cpp
@@ -32,7 +32,7 @@ void Reflect(Writer& writer, lsInitializeParams::lsTrace& value)
break;
}
}
- void Reflect(Reader& visitor, std::pair<boost::optional<lsTextDocumentSyncKind>, boost::optional<lsTextDocumentSyncOptions> >& value)
+ void Reflect(Reader& visitor, std::pair<optional<lsTextDocumentSyncKind>, optional<lsTextDocumentSyncOptions> >& value)
{
if(((JsonReader&)visitor).m_->IsObject())
{
diff --git a/graphics/asymptote/LspCpp/src/lsp/lsp.cpp b/graphics/asymptote/LspCpp/src/lsp/lsp.cpp
index 792995c8fb..d070f22be1 100644
--- a/graphics/asymptote/LspCpp/src/lsp/lsp.cpp
+++ b/graphics/asymptote/LspCpp/src/lsp/lsp.cpp
@@ -397,7 +397,7 @@ bool lsp::Any::GetForMapHelper(std::string& value)
return Get(value);
}
-bool lsp::Any::GetForMapHelper(boost::optional<std::string>& value)
+bool lsp::Any::GetForMapHelper(optional<std::string>& value)
{
return Get(value);
}
@@ -558,7 +558,7 @@ lsRenameFile::lsRenameFile()
}
-void Reflect(Reader& visitor, boost::optional< SelectionRange* >& value)
+void Reflect(Reader& visitor, optional< SelectionRange* >& value)
{
if (visitor.IsNull()) {
visitor.GetNull();
diff --git a/graphics/asymptote/LspCpp/src/lsp/textDocument.cpp b/graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
index a95c2b1ea8..c87a047d3f 100644
--- a/graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
+++ b/graphics/asymptote/LspCpp/src/lsp/textDocument.cpp
@@ -231,7 +231,7 @@ void Reflect(Reader& visitor, TextDocumentDocumentSymbol::Either& value)
}
}
-void Reflect(Reader& visitor, std::pair<boost::optional<std::string>, boost::optional<lsMarkedString>>& value)
+void Reflect(Reader& visitor, std::pair<optional<std::string>, optional<lsMarkedString>>& value)
{
if (!visitor.IsString())
@@ -244,7 +244,7 @@ void Reflect(Reader& visitor, std::pair<boost::optional<std::string>, boost::opt
}
}
-void Reflect(Reader& visitor, std::pair<boost::optional<std::string>, boost::optional<MarkupContent>>& value)
+void Reflect(Reader& visitor, std::pair<optional<std::string>, optional<MarkupContent>>& value)
{
if (!visitor.IsString())
{
diff --git a/graphics/asymptote/LspCpp/src/lsp/utils.cpp b/graphics/asymptote/LspCpp/src/lsp/utils.cpp
index 445f4a72cf..f950b9ee79 100644
--- a/graphics/asymptote/LspCpp/src/lsp/utils.cpp
+++ b/graphics/asymptote/LspCpp/src/lsp/utils.cpp
@@ -191,7 +191,7 @@ bool FileExists(const std::string& filename) {
return cache.is_open();
}
-boost::optional<std::string> ReadContent(const AbsolutePath& filename) {
+optional<std::string> ReadContent(const AbsolutePath& filename) {
std::ifstream cache;
cache.open(filename.path);
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt b/graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
index bdfdd6779e..dd1f173d1c 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/CMakeLists.txt
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
if(POLICY CMP0025)
# detect Apple's Clang
cmake_policy(SET CMP0025 NEW)
@@ -68,7 +68,7 @@ endif(CCACHE_FOUND)
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if(RAPIDJSON_ENABLE_INSTRUMENTATION_OPT AND NOT CMAKE_CROSSCOMPILING)
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
else()
#FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
@@ -102,7 +102,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
endif()
elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
if(NOT CMAKE_CROSSCOMPILING)
- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "powerpc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ppc64le")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mcpu=native")
else()
#FIXME: x86 is -march=native, but doesn't mean every arch is this option. To keep original project's compatibility, I leave this except POWER.
@@ -128,6 +128,7 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
add_definitions(-D_CRT_SECURE_NO_WARNINGS=1)
+ add_definitions(-DNOMINMAX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
# CMake >= 3.10 should handle the above CMAKE_CXX_STANDARD fine, otherwise use /std:c++XX with MSVC >= 19.10
if (RAPIDJSON_BUILD_CXX11 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "19.10")
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json b/graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
index c3cf642613..abec3ec577 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/bin/unittestschema/address.json
@@ -97,11 +97,11 @@
},
"county_type": {
"type": "string",
- "enum": ["Sussex", "Surrey", "Kent"]
+ "enum": ["Sussex", "Surrey", "Kent", "Narnia"]
},
"province_type": {
"type": "string",
- "enum": ["Quebec", "BC", "Alberta"]
+ "enum": ["Quebec", "Narnia", "BC", "Alberta"]
},
"date_type": {
"pattern": "^([0-9]([0-9]([0-9][1-9]|[1-9]0)|[1-9]00)|[1-9]000)(-(0[1-9]|1[0-2])(-(0[1-9]|[1-2][0-9]|3[0-1]))?)?$",
@@ -132,7 +132,6 @@
"type": "string"
},
"url_type": {
- "pattern": "^\\S*$",
"type": "string"
}
}
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis b/graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
index e7bd44b6ed..2a4316ee98 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/contrib/natvis/rapidjson.natvis
@@ -2,30 +2,30 @@
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<!-- rapidjson::GenericValue - basic support -->
<Type Name="rapidjson::GenericValue&lt;*,*&gt;">
- <DisplayString Condition="(data_.f.flags &amp; kTypeMask) == kNullType">null</DisplayString>
+ <DisplayString Condition="(data_.f.flags &amp; kTypeMask) == rapidjson::kNullType">null</DisplayString>
<DisplayString Condition="data_.f.flags == kTrueFlag">true</DisplayString>
<DisplayString Condition="data_.f.flags == kFalseFlag">false</DisplayString>
<DisplayString Condition="data_.f.flags == kShortStringFlag">{(const Ch*)data_.ss.str,na}</DisplayString>
- <DisplayString Condition="(data_.f.flags &amp; kTypeMask) == kStringType">{(const Ch*)((size_t)data_.s.str &amp; 0x0000FFFFFFFFFFFF),na}</DisplayString>
+ <DisplayString Condition="(data_.f.flags &amp; kTypeMask) == rapidjson::kStringType">{(const Ch*)((size_t)data_.s.str &amp; 0x0000FFFFFFFFFFFF),[data_.s.length]na}</DisplayString>
<DisplayString Condition="(data_.f.flags &amp; kNumberIntFlag) == kNumberIntFlag">{data_.n.i.i}</DisplayString>
<DisplayString Condition="(data_.f.flags &amp; kNumberUintFlag) == kNumberUintFlag">{data_.n.u.u}</DisplayString>
<DisplayString Condition="(data_.f.flags &amp; kNumberInt64Flag) == kNumberInt64Flag">{data_.n.i64}</DisplayString>
<DisplayString Condition="(data_.f.flags &amp; kNumberUint64Flag) == kNumberUint64Flag">{data_.n.u64}</DisplayString>
<DisplayString Condition="(data_.f.flags &amp; kNumberDoubleFlag) == kNumberDoubleFlag">{data_.n.d}</DisplayString>
- <DisplayString Condition="data_.f.flags == kObjectType">Object members={data_.o.size}</DisplayString>
- <DisplayString Condition="data_.f.flags == kArrayType">Array members={data_.a.size}</DisplayString>
+ <DisplayString Condition="data_.f.flags == rapidjson::kObjectType">Object members={data_.o.size}</DisplayString>
+ <DisplayString Condition="data_.f.flags == rapidjson::kArrayType">Array members={data_.a.size}</DisplayString>
<Expand>
- <Item Condition="data_.f.flags == kObjectType" Name="[size]">data_.o.size</Item>
- <Item Condition="data_.f.flags == kObjectType" Name="[capacity]">data_.o.capacity</Item>
- <ArrayItems Condition="data_.f.flags == kObjectType">
+ <Item Condition="data_.f.flags == rapidjson::kObjectType" Name="[size]">data_.o.size</Item>
+ <Item Condition="data_.f.flags == rapidjson::kObjectType" Name="[capacity]">data_.o.capacity</Item>
+ <ArrayItems Condition="data_.f.flags == rapidjson::kObjectType">
<Size>data_.o.size</Size>
<!-- NOTE: Rapidjson stores some extra data in the high bits of pointers, which is why the mask -->
<ValuePointer>(rapidjson::GenericMember&lt;$T1,$T2&gt;*)(((size_t)data_.o.members) &amp; 0x0000FFFFFFFFFFFF)</ValuePointer>
</ArrayItems>
- <Item Condition="data_.f.flags == kArrayType" Name="[size]">data_.a.size</Item>
- <Item Condition="data_.f.flags == kArrayType" Name="[capacity]">data_.a.capacity</Item>
- <ArrayItems Condition="data_.f.flags == kArrayType">
+ <Item Condition="data_.f.flags == rapidjson::kArrayType" Name="[size]">data_.a.size</Item>
+ <Item Condition="data_.f.flags == rapidjson::kArrayType" Name="[capacity]">data_.a.capacity</Item>
+ <ArrayItems Condition="data_.f.flags == rapidjson::kArrayType">
<Size>data_.a.size</Size>
<!-- NOTE: Rapidjson stores some extra data in the high bits of pointers, which is why the mask -->
<ValuePointer>(rapidjson::GenericValue&lt;$T1,$T2&gt;*)(((size_t)data_.a.elements) &amp; 0x0000FFFFFFFFFFFF)</ValuePointer>
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md b/graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
index 0d79e7f892..4d159370ac 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/doc/features.md
@@ -22,13 +22,15 @@
* RapidJSON should be fully RFC4627/ECMA-404 compliance.
* Support JSON Pointer (RFC6901).
* Support JSON Schema Draft v4.
+* Support Swagger v2 schema.
+* Support OpenAPI v3.0.x schema.
* Support Unicode surrogate.
* Support null character (`"\u0000"`)
- * For example, `["Hello\u0000World"]` can be parsed and handled gracefully. There is API for getting/setting lengths of string.
+* For example, `["Hello\u0000World"]` can be parsed and handled gracefully. There is API for getting/setting lengths of string.
* Support optional relaxed syntax.
- * Single line (`// ...`) and multiple line (`/* ... */`) comments (`kParseCommentsFlag`).
- * Trailing commas at the end of objects and arrays (`kParseTrailingCommasFlag`).
- * `NaN`, `Inf`, `Infinity`, `-Inf` and `-Infinity` as `double` values (`kParseNanAndInfFlag`)
+* Single line (`// ...`) and multiple line (`/* ... */`) comments (`kParseCommentsFlag`).
+* Trailing commas at the end of objects and arrays (`kParseTrailingCommasFlag`).
+* `NaN`, `Inf`, `Infinity`, `-Inf` and `-Infinity` as `double` values (`kParseNanAndInfFlag`)
* [NPM compliant](http://github.com/Tencent/rapidjson/blob/master/doc/npm.md).
## Unicode
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md b/graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
index 238d7a56ae..4da4474b2e 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/doc/schema.md
@@ -24,7 +24,15 @@ if (sd.Parse(schemaJson).HasParseError()) {
// the schema is not a valid JSON.
// ...
}
+
SchemaDocument schema(sd); // Compile a Document to SchemaDocument
+if (!schema.GetError().ObjectEmpty()) {
+ // there was a problem compiling the schema
+ StringBuffer sb;
+ Writer<StringBuffer> w(sb);
+ schema.GetError().Accept(w);
+ printf("Invalid schema: %s\n", sb.GetString());
+}
// sd is no longer needed here.
Document d;
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
index 9fa1bb10a1..0d3d0632f2 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/example/schemavalidator/schemavalidator.cpp
@@ -41,7 +41,8 @@ static std::string GetString(const ValueType& val) {
s << "false";
else if (val.IsFloat())
s << val.GetFloat();
- return s.str();}
+ return s.str();
+}
// Create the error message for a named error
// The error object can either be empty or contain at least member properties:
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
index 8918cf76fe..a943cf1993 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/allocators.h
@@ -19,6 +19,7 @@
#include "internal/meta.h"
#include <memory>
+#include <limits>
#if RAPIDJSON_HAS_CXX11
#include <type_traits>
@@ -433,7 +434,7 @@ namespace internal {
template<typename T, typename A>
inline T* Realloc(A& a, T* old_p, size_t old_n, size_t new_n)
{
- RAPIDJSON_NOEXCEPT_ASSERT(old_n <= SIZE_MAX / sizeof(T) && new_n <= SIZE_MAX / sizeof(T));
+ RAPIDJSON_NOEXCEPT_ASSERT(old_n <= (std::numeric_limits<size_t>::max)() / sizeof(T) && new_n <= (std::numeric_limits<size_t>::max)() / sizeof(T));
return static_cast<T*>(a.Realloc(old_p, old_n * sizeof(T), new_n * sizeof(T)));
}
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
index 660e14eb53..d1420719bb 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/document.h
@@ -75,7 +75,7 @@ class GenericDocument;
User can define this to use CrtAllocator or MemoryPoolAllocator.
*/
#ifndef RAPIDJSON_DEFAULT_ALLOCATOR
-#define RAPIDJSON_DEFAULT_ALLOCATOR MemoryPoolAllocator<CrtAllocator>
+#define RAPIDJSON_DEFAULT_ALLOCATOR ::RAPIDJSON_NAMESPACE::MemoryPoolAllocator<::RAPIDJSON_NAMESPACE::CrtAllocator>
#endif
/*! \def RAPIDJSON_DEFAULT_STACK_ALLOCATOR
@@ -85,7 +85,7 @@ class GenericDocument;
User can define this to use CrtAllocator or MemoryPoolAllocator.
*/
#ifndef RAPIDJSON_DEFAULT_STACK_ALLOCATOR
-#define RAPIDJSON_DEFAULT_STACK_ALLOCATOR CrtAllocator
+#define RAPIDJSON_DEFAULT_STACK_ALLOCATOR ::RAPIDJSON_NAMESPACE::CrtAllocator
#endif
/*! \def RAPIDJSON_VALUE_DEFAULT_OBJECT_CAPACITY
@@ -1078,6 +1078,7 @@ public:
*/
template <typename T> RAPIDJSON_DISABLEIF_RETURN((internal::OrExpr<internal::IsPointer<T>,internal::IsGenericValue<T> >), (bool)) operator==(const T& rhs) const { return *this == GenericValue(rhs); }
+#ifndef __cpp_impl_three_way_comparison
//! Not-equal-to operator
/*! \return !(*this == rhs)
*/
@@ -1092,7 +1093,6 @@ public:
*/
template <typename T> RAPIDJSON_DISABLEIF_RETURN((internal::IsGenericValue<T>), (bool)) operator!=(const T& rhs) const { return !(*this == rhs); }
-#ifndef __cpp_lib_three_way_comparison
//! Equal-to operator with arbitrary types (symmetric version)
/*! \return (rhs == lhs)
*/
@@ -1230,13 +1230,28 @@ public:
else {
RAPIDJSON_ASSERT(false); // see above note
- // This will generate -Wexit-time-destructors in clang
- // static GenericValue NullValue;
- // return NullValue;
-
- // Use static buffer and placement-new to prevent destruction
- static char buffer[sizeof(GenericValue)];
+#if RAPIDJSON_HAS_CXX11
+ // Use thread-local storage to prevent races between threads.
+ // Use static buffer and placement-new to prevent destruction, with
+ // alignas() to ensure proper alignment.
+ alignas(GenericValue) thread_local static char buffer[sizeof(GenericValue)];
+ return *new (buffer) GenericValue();
+#elif defined(_MSC_VER) && _MSC_VER < 1900
+ // There's no way to solve both thread locality and proper alignment
+ // simultaneously.
+ __declspec(thread) static char buffer[sizeof(GenericValue)];
return *new (buffer) GenericValue();
+#elif defined(__GNUC__) || defined(__clang__)
+ // This will generate -Wexit-time-destructors in clang, but that's
+ // better than having under-alignment.
+ __thread static GenericValue buffer;
+ return buffer;
+#else
+ // Don't know what compiler this is, so don't know how to ensure
+ // thread-locality.
+ static GenericValue buffer;
+ return buffer;
+#endif
}
}
template <typename SourceAllocator>
@@ -2486,6 +2501,7 @@ public:
typedef typename Encoding::Ch Ch; //!< Character type derived from Encoding.
typedef GenericValue<Encoding, Allocator> ValueType; //!< Value type of the document.
typedef Allocator AllocatorType; //!< Allocator type from template parameter.
+ typedef StackAllocator StackAllocatorType; //!< StackAllocator type from template parameter.
//! Constructor
/*! Creates an empty document of specified type.
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
index 7c620a2e6b..c87b04eb13 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/en.h
@@ -104,15 +104,69 @@ inline const RAPIDJSON_ERROR_CHARTYPE* GetValidateError_En(ValidateErrorCode val
case kValidateErrorType: return RAPIDJSON_ERROR_STRING("Property has a type '%actual' that is not in the following list: '%expected'.");
case kValidateErrorOneOf: return RAPIDJSON_ERROR_STRING("Property did not match any of the sub-schemas specified by 'oneOf', refer to following errors.");
- case kValidateErrorOneOfMatch: return RAPIDJSON_ERROR_STRING("Property matched more than one of the sub-schemas specified by 'oneOf'.");
+ case kValidateErrorOneOfMatch: return RAPIDJSON_ERROR_STRING("Property matched more than one of the sub-schemas specified by 'oneOf', indices '%matches'.");
case kValidateErrorAllOf: return RAPIDJSON_ERROR_STRING("Property did not match all of the sub-schemas specified by 'allOf', refer to following errors.");
case kValidateErrorAnyOf: return RAPIDJSON_ERROR_STRING("Property did not match any of the sub-schemas specified by 'anyOf', refer to following errors.");
case kValidateErrorNot: return RAPIDJSON_ERROR_STRING("Property matched the sub-schema specified by 'not'.");
+ case kValidateErrorReadOnly: return RAPIDJSON_ERROR_STRING("Property is read-only but has been provided when validation is for writing.");
+ case kValidateErrorWriteOnly: return RAPIDJSON_ERROR_STRING("Property is write-only but has been provided when validation is for reading.");
+
default: return RAPIDJSON_ERROR_STRING("Unknown error.");
}
}
+//! Maps error code of schema document compilation into error message.
+/*!
+ \ingroup RAPIDJSON_ERRORS
+ \param schemaErrorCode Error code obtained from compiling the schema document.
+ \return the error message.
+ \note User can make a copy of this function for localization.
+ Using switch-case is safer for future modification of error codes.
+*/
+ inline const RAPIDJSON_ERROR_CHARTYPE* GetSchemaError_En(SchemaErrorCode schemaErrorCode) {
+ switch (schemaErrorCode) {
+ case kSchemaErrorNone: return RAPIDJSON_ERROR_STRING("No error.");
+
+ case kSchemaErrorStartUnknown: return RAPIDJSON_ERROR_STRING("Pointer '%value' to start of schema does not resolve to a location in the document.");
+ case kSchemaErrorRefPlainName: return RAPIDJSON_ERROR_STRING("$ref fragment '%value' must be a JSON pointer.");
+ case kSchemaErrorRefInvalid: return RAPIDJSON_ERROR_STRING("$ref must not be an empty string.");
+ case kSchemaErrorRefPointerInvalid: return RAPIDJSON_ERROR_STRING("$ref fragment '%value' is not a valid JSON pointer at offset '%offset'.");
+ case kSchemaErrorRefUnknown: return RAPIDJSON_ERROR_STRING("$ref '%value' does not resolve to a location in the target document.");
+ case kSchemaErrorRefCyclical: return RAPIDJSON_ERROR_STRING("$ref '%value' is cyclical.");
+ case kSchemaErrorRefNoRemoteProvider: return RAPIDJSON_ERROR_STRING("$ref is remote but there is no remote provider.");
+ case kSchemaErrorRefNoRemoteSchema: return RAPIDJSON_ERROR_STRING("$ref '%value' is remote but the remote provider did not return a schema.");
+ case kSchemaErrorRegexInvalid: return RAPIDJSON_ERROR_STRING("Invalid regular expression '%value' in 'pattern' or 'patternProperties'.");
+ case kSchemaErrorSpecUnknown: return RAPIDJSON_ERROR_STRING("JSON schema draft or OpenAPI version is not recognized.");
+ case kSchemaErrorSpecUnsupported: return RAPIDJSON_ERROR_STRING("JSON schema draft or OpenAPI version is not supported.");
+ case kSchemaErrorSpecIllegal: return RAPIDJSON_ERROR_STRING("Both JSON schema draft and OpenAPI version found in document.");
+ case kSchemaErrorReadOnlyAndWriteOnly: return RAPIDJSON_ERROR_STRING("Property must not be both 'readOnly' and 'writeOnly'.");
+
+ default: return RAPIDJSON_ERROR_STRING("Unknown error.");
+ }
+ }
+
+//! Maps error code of pointer parse into error message.
+/*!
+ \ingroup RAPIDJSON_ERRORS
+ \param pointerParseErrorCode Error code obtained from pointer parse.
+ \return the error message.
+ \note User can make a copy of this function for localization.
+ Using switch-case is safer for future modification of error codes.
+*/
+inline const RAPIDJSON_ERROR_CHARTYPE* GetPointerParseError_En(PointerParseErrorCode pointerParseErrorCode) {
+ switch (pointerParseErrorCode) {
+ case kPointerParseErrorNone: return RAPIDJSON_ERROR_STRING("No error.");
+
+ case kPointerParseErrorTokenMustBeginWithSolidus: return RAPIDJSON_ERROR_STRING("A token must begin with a '/'.");
+ case kPointerParseErrorInvalidEscape: return RAPIDJSON_ERROR_STRING("Invalid escape.");
+ case kPointerParseErrorInvalidPercentEncoding: return RAPIDJSON_ERROR_STRING("Invalid percent encoding in URI fragment.");
+ case kPointerParseErrorCharacterMustPercentEncode: return RAPIDJSON_ERROR_STRING("A character must be percent encoded in a URI fragment.");
+
+ default: return RAPIDJSON_ERROR_STRING("Unknown error.");
+ }
+}
+
RAPIDJSON_NAMESPACE_END
#ifdef __clang__
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
index 5c890ba0ea..cae345db36 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/error/error.h
@@ -42,7 +42,7 @@ RAPIDJSON_DIAG_OFF(padded)
///////////////////////////////////////////////////////////////////////////////
// RAPIDJSON_ERROR_STRING
-//! Macro for converting string literial to \ref RAPIDJSON_ERROR_CHARTYPE[].
+//! Macro for converting string literal to \ref RAPIDJSON_ERROR_CHARTYPE[].
/*! \ingroup RAPIDJSON_ERRORS
By default this conversion macro does nothing.
On Windows, user can define this macro as \c _T(x) for supporting both
@@ -185,14 +185,17 @@ enum ValidateErrorCode {
kValidateErrorPatternProperties, //!< See other errors.
kValidateErrorDependencies, //!< Object has missing property or schema dependencies.
- kValidateErrorEnum, //!< Property has a value that is not one of its allowed enumerated values
- kValidateErrorType, //!< Property has a type that is not allowed by the schema..
+ kValidateErrorEnum, //!< Property has a value that is not one of its allowed enumerated values.
+ kValidateErrorType, //!< Property has a type that is not allowed by the schema.
kValidateErrorOneOf, //!< Property did not match any of the sub-schemas specified by 'oneOf'.
kValidateErrorOneOfMatch, //!< Property matched more than one of the sub-schemas specified by 'oneOf'.
kValidateErrorAllOf, //!< Property did not match all of the sub-schemas specified by 'allOf'.
kValidateErrorAnyOf, //!< Property did not match any of the sub-schemas specified by 'anyOf'.
- kValidateErrorNot //!< Property matched the sub-schema specified by 'not'.
+ kValidateErrorNot, //!< Property matched the sub-schema specified by 'not'.
+
+ kValidateErrorReadOnly, //!< Property is read-only but has been provided when validation is for writing
+ kValidateErrorWriteOnly //!< Property is write-only but has been provided when validation is for reading
};
//! Function pointer type of GetValidateError().
@@ -207,6 +210,72 @@ enum ValidateErrorCode {
*/
typedef const RAPIDJSON_ERROR_CHARTYPE* (*GetValidateErrorFunc)(ValidateErrorCode);
+///////////////////////////////////////////////////////////////////////////////
+// SchemaErrorCode
+
+//! Error codes when validating.
+/*! \ingroup RAPIDJSON_ERRORS
+ \see GenericSchemaValidator
+*/
+enum SchemaErrorCode {
+ kSchemaErrorNone = 0, //!< No error.
+
+ kSchemaErrorStartUnknown, //!< Pointer to start of schema does not resolve to a location in the document
+ kSchemaErrorRefPlainName, //!< $ref fragment must be a JSON pointer
+ kSchemaErrorRefInvalid, //!< $ref must not be an empty string
+ kSchemaErrorRefPointerInvalid, //!< $ref fragment is not a valid JSON pointer at offset
+ kSchemaErrorRefUnknown, //!< $ref does not resolve to a location in the target document
+ kSchemaErrorRefCyclical, //!< $ref is cyclical
+ kSchemaErrorRefNoRemoteProvider, //!< $ref is remote but there is no remote provider
+ kSchemaErrorRefNoRemoteSchema, //!< $ref is remote but the remote provider did not return a schema
+ kSchemaErrorRegexInvalid, //!< Invalid regular expression in 'pattern' or 'patternProperties'
+ kSchemaErrorSpecUnknown, //!< JSON schema draft or OpenAPI version is not recognized
+ kSchemaErrorSpecUnsupported, //!< JSON schema draft or OpenAPI version is not supported
+ kSchemaErrorSpecIllegal, //!< Both JSON schema draft and OpenAPI version found in document
+ kSchemaErrorReadOnlyAndWriteOnly //!< Property must not be both 'readOnly' and 'writeOnly'
+};
+
+//! Function pointer type of GetSchemaError().
+/*! \ingroup RAPIDJSON_ERRORS
+
+ This is the prototype for \c GetSchemaError_X(), where \c X is a locale.
+ User can dynamically change locale in runtime, e.g.:
+\code
+ GetSchemaErrorFunc GetSchemaError = GetSchemaError_En; // or whatever
+ const RAPIDJSON_ERROR_CHARTYPE* s = GetSchemaError(validator.GetInvalidSchemaCode());
+\endcode
+*/
+typedef const RAPIDJSON_ERROR_CHARTYPE* (*GetSchemaErrorFunc)(SchemaErrorCode);
+
+///////////////////////////////////////////////////////////////////////////////
+// PointerParseErrorCode
+
+//! Error code of JSON pointer parsing.
+/*! \ingroup RAPIDJSON_ERRORS
+ \see GenericPointer::GenericPointer, GenericPointer::GetParseErrorCode
+*/
+enum PointerParseErrorCode {
+ kPointerParseErrorNone = 0, //!< The parse is successful
+
+ kPointerParseErrorTokenMustBeginWithSolidus, //!< A token must begin with a '/'
+ kPointerParseErrorInvalidEscape, //!< Invalid escape
+ kPointerParseErrorInvalidPercentEncoding, //!< Invalid percent encoding in URI fragment
+ kPointerParseErrorCharacterMustPercentEncode //!< A character must percent encoded in URI fragment
+};
+
+//! Function pointer type of GetPointerParseError().
+/*! \ingroup RAPIDJSON_ERRORS
+
+ This is the prototype for \c GetPointerParseError_X(), where \c X is a locale.
+ User can dynamically change locale in runtime, e.g.:
+\code
+ GetPointerParseErrorFunc GetPointerParseError = GetPointerParseError_En; // or whatever
+ const RAPIDJSON_ERROR_CHARTYPE* s = GetPointerParseError(pointer.GetParseErrorCode());
+\endcode
+*/
+typedef const RAPIDJSON_ERROR_CHARTYPE* (*GetPointerParseErrorFunc)(PointerParseErrorCode);
+
+
RAPIDJSON_NAMESPACE_END
#ifdef __clang__
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
index 6c58fc87bb..09d0387fe6 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/biginteger.h
@@ -259,7 +259,7 @@ private:
if (low < k)
(*outHigh)++;
return low;
-#elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__)
+#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__)
__extension__ typedef unsigned __int128 uint128;
uint128 p = static_cast<uint128>(a) * static_cast<uint128>(b);
p += k;
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
index f7d46539a9..1f60fb60ca 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/diyfp.h
@@ -79,7 +79,7 @@ struct DiyFp {
if (l & (uint64_t(1) << 63)) // rounding
h++;
return DiyFp(h, e + rhs.e + 64);
-#elif (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__)
+#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) && defined(__x86_64__)
__extension__ typedef unsigned __int128 uint128;
uint128 p = static_cast<uint128>(f) * static_cast<uint128>(rhs.f);
uint64_t h = static_cast<uint64_t>(p >> 64);
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
index aa27f7b673..91c5756d92 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/internal/dtoa.h
@@ -58,11 +58,11 @@ inline int CountDecimalDigit32(uint32_t n) {
}
inline void DigitGen(const DiyFp& W, const DiyFp& Mp, uint64_t delta, char* buffer, int* len, int* K) {
- static const uint64_t kPow10[] = { 1U, 10U, 100U, 1000U, 10000U, 100000U, 1000000U, 10000000U, 100000000U,
- 1000000000U, 10000000000U, 100000000000U, 1000000000000U,
- 10000000000000U, 100000000000000U, 1000000000000000U,
- 10000000000000000U, 100000000000000000U, 1000000000000000000U,
- 10000000000000000000U };
+ static const uint64_t kPow10[] = { 1ULL, 10ULL, 100ULL, 1000ULL, 10000ULL, 100000ULL, 1000000ULL, 10000000ULL, 100000000ULL,
+ 1000000000ULL, 10000000000ULL, 100000000000ULL, 1000000000000ULL,
+ 10000000000000ULL, 100000000000000ULL, 1000000000000000ULL,
+ 10000000000000000ULL, 100000000000000000ULL, 1000000000000000000ULL,
+ 10000000000000000000ULL };
const DiyFp one(uint64_t(1) << -Mp.e, Mp.e);
const DiyFp wp_w = Mp - W;
uint32_t p1 = static_cast<uint32_t>(Mp.f >> -one.e);
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
index d89f943c91..fb1a5ae267 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/pointer.h
@@ -18,6 +18,7 @@
#include "document.h"
#include "uri.h"
#include "internal/itoa.h"
+#include "error/error.h" // PointerParseErrorCode
#ifdef __clang__
RAPIDJSON_DIAG_PUSH
@@ -31,19 +32,6 @@ RAPIDJSON_NAMESPACE_BEGIN
static const SizeType kPointerInvalidIndex = ~SizeType(0); //!< Represents an invalid index in GenericPointer::Token
-//! Error code of parsing.
-/*! \ingroup RAPIDJSON_ERRORS
- \see GenericPointer::GenericPointer, GenericPointer::GetParseErrorCode
-*/
-enum PointerParseErrorCode {
- kPointerParseErrorNone = 0, //!< The parse is successful
-
- kPointerParseErrorTokenMustBeginWithSolidus, //!< A token must begin with a '/'
- kPointerParseErrorInvalidEscape, //!< Invalid escape
- kPointerParseErrorInvalidPercentEncoding, //!< Invalid percent encoding in URI fragment
- kPointerParseErrorCharacterMustPercentEncode //!< A character must percent encoded in URI fragment
-};
-
///////////////////////////////////////////////////////////////////////////////
// GenericPointer
@@ -84,7 +72,7 @@ public:
typedef GenericUri<ValueType, Allocator> UriType;
- //! A token is the basic units of internal representation.
+ //! A token is the basic units of internal representation.
/*!
A JSON pointer string representation "/foo/123" is parsed to two tokens:
"foo" and 123. 123 will be represented in both numeric form and string form.
@@ -902,10 +890,16 @@ private:
std::memcpy(nameBuffer_, rhs.nameBuffer_, nameBufferSize * sizeof(Ch));
}
- // Adjust pointers to name buffer
- std::ptrdiff_t diff = nameBuffer_ - rhs.nameBuffer_;
- for (Token *t = tokens_; t != tokens_ + rhs.tokenCount_; ++t)
- t->name += diff;
+ // The names of each token point to a string in the nameBuffer_. The
+ // previous memcpy copied over string pointers into the rhs.nameBuffer_,
+ // but they should point to the strings in the new nameBuffer_.
+ for (size_t i = 0; i < rhs.tokenCount_; ++i) {
+ // The offset between the string address and the name buffer should
+ // still be constant, so we can just get this offset and set each new
+ // token name according the new buffer start + the known offset.
+ std::ptrdiff_t name_offset = rhs.tokens_[i].name - rhs.nameBuffer_;
+ tokens_[i].name = nameBuffer_ + name_offset;
+ }
return nameBuffer_ + nameBufferSize;
}
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
index 77cede6067..89de838619 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/rapidjson.h
@@ -195,7 +195,7 @@
*/
#ifndef RAPIDJSON_NO_INT64DEFINE
//!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN
-#if defined(_MSC_VER) && (_MSC_VER < 1800) // Visual Studio 2013
+#if defined(_MSC_VER) && (_MSC_VER < 1800) // Visual Studio 2013
#include "msinttypes/stdint.h"
#include "msinttypes/inttypes.h"
#else
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
index b37afffb2e..55546601e2 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/reader.h
@@ -1433,7 +1433,7 @@ private:
class NumberStream<InputStream, StackCharacter, true, false> : public NumberStream<InputStream, StackCharacter, false, false> {
typedef NumberStream<InputStream, StackCharacter, false, false> Base;
public:
- NumberStream(GenericReader& reader, InputStream& is) : Base(reader, is), stackStream(reader.stack_) {}
+ NumberStream(GenericReader& reader, InputStream& s) : Base(reader, s), stackStream(reader.stack_) {}
RAPIDJSON_FORCEINLINE Ch TakePush() {
stackStream.Put(static_cast<StackCharacter>(Base::is.Peek()));
@@ -1459,7 +1459,7 @@ private:
class NumberStream<InputStream, StackCharacter, true, true> : public NumberStream<InputStream, StackCharacter, true, false> {
typedef NumberStream<InputStream, StackCharacter, true, false> Base;
public:
- NumberStream(GenericReader& reader, InputStream& is) : Base(reader, is) {}
+ NumberStream(GenericReader& reader, InputStream& s) : Base(reader, s) {}
RAPIDJSON_FORCEINLINE Ch Take() { return Base::TakePush(); }
};
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
index 1db4b57cbf..cb799cbacf 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/include/rapidjson/schema.h
@@ -50,10 +50,6 @@
#define RAPIDJSON_SCHEMA_VERBOSE 0
#endif
-#if RAPIDJSON_SCHEMA_VERBOSE
-#include "stringbuffer.h"
-#endif
-
RAPIDJSON_DIAG_PUSH
#if defined(__GNUC__)
@@ -78,48 +74,94 @@ RAPIDJSON_NAMESPACE_BEGIN
namespace internal {
-inline void PrintInvalidKeyword(const char* keyword) {
- printf("Fail keyword: %s\n", keyword);
+inline void PrintInvalidKeywordData(const char* keyword) {
+ printf(" Fail keyword: '%s'\n", keyword);
+}
+
+inline void PrintInvalidKeywordData(const wchar_t* keyword) {
+ wprintf(L" Fail keyword: '%ls'\n", keyword);
+}
+
+inline void PrintInvalidDocumentData(const char* document) {
+ printf(" Fail document: '%s'\n", document);
+}
+
+inline void PrintInvalidDocumentData(const wchar_t* document) {
+ wprintf(L" Fail document: '%ls'\n", document);
+}
+
+inline void PrintValidatorPointersData(const char* s, const char* d, unsigned depth) {
+ printf(" Sch: %*s'%s'\n Doc: %*s'%s'\n", depth * 4, " ", s, depth * 4, " ", d);
+}
+
+inline void PrintValidatorPointersData(const wchar_t* s, const wchar_t* d, unsigned depth) {
+ wprintf(L" Sch: %*ls'%ls'\n Doc: %*ls'%ls'\n", depth * 4, L" ", s, depth * 4, L" ", d);
+}
+
+inline void PrintSchemaIdsData(const char* base, const char* local, const char* resolved) {
+ printf(" Resolving id: Base: '%s', Local: '%s', Resolved: '%s'\n", base, local, resolved);
+}
+
+inline void PrintSchemaIdsData(const wchar_t* base, const wchar_t* local, const wchar_t* resolved) {
+ wprintf(L" Resolving id: Base: '%ls', Local: '%ls', Resolved: '%ls'\n", base, local, resolved);
+}
+
+inline void PrintMethodData(const char* method) {
+ printf("%s\n", method);
+}
+
+inline void PrintMethodData(const char* method, bool b) {
+ printf("%s, Data: '%s'\n", method, b ? "true" : "false");
+}
+
+inline void PrintMethodData(const char* method, int64_t i) {
+ printf("%s, Data: '%" PRId64 "'\n", method, i);
}
-inline void PrintInvalidKeyword(const wchar_t* keyword) {
- wprintf(L"Fail keyword: %ls\n", keyword);
+inline void PrintMethodData(const char* method, uint64_t u) {
+ printf("%s, Data: '%" PRIu64 "'\n", method, u);
}
-inline void PrintInvalidDocument(const char* document) {
- printf("Fail document: %s\n\n", document);
+inline void PrintMethodData(const char* method, double d) {
+ printf("%s, Data: '%lf'\n", method, d);
}
-inline void PrintInvalidDocument(const wchar_t* document) {
- wprintf(L"Fail document: %ls\n\n", document);
+inline void PrintMethodData(const char* method, const char* s) {
+ printf("%s, Data: '%s'\n", method, s);
}
-inline void PrintValidatorPointers(unsigned depth, const char* s, const char* d) {
- printf("S: %*s%s\nD: %*s%s\n\n", depth * 4, " ", s, depth * 4, " ", d);
+inline void PrintMethodData(const char* method, const wchar_t* s) {
+ wprintf(L"%hs, Data: '%ls'\n", method, s);
}
-inline void PrintValidatorPointers(unsigned depth, const wchar_t* s, const wchar_t* d) {
- wprintf(L"S: %*ls%ls\nD: %*ls%ls\n\n", depth * 4, L" ", s, depth * 4, L" ", d);
+inline void PrintMethodData(const char* method, const char* s1, const char* s2) {
+ printf("%s, Data: '%s', '%s'\n", method, s1, s2);
+}
+
+inline void PrintMethodData(const char* method, const wchar_t* s1, const wchar_t* s2) {
+ wprintf(L"%hs, Data: '%ls', '%ls'\n", method, s1, s2);
}
} // namespace internal
#endif // RAPIDJSON_SCHEMA_VERBOSE
-///////////////////////////////////////////////////////////////////////////////
-// RAPIDJSON_INVALID_KEYWORD_RETURN
-
+#ifndef RAPIDJSON_SCHEMA_PRINT
#if RAPIDJSON_SCHEMA_VERBOSE
-#define RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword) internal::PrintInvalidKeyword(keyword)
+#define RAPIDJSON_SCHEMA_PRINT(name, ...) internal::Print##name##Data(__VA_ARGS__)
#else
-#define RAPIDJSON_INVALID_KEYWORD_VERBOSE(keyword)
+#define RAPIDJSON_SCHEMA_PRINT(name, ...)
+#endif
#endif
+///////////////////////////////////////////////////////////////////////////////
+// RAPIDJSON_INVALID_KEYWORD_RETURN
+
#define RAPIDJSON_INVALID_KEYWORD_RETURN(code)\
RAPIDJSON_MULTILINEMACRO_BEGIN\
context.invalidCode = code;\
context.invalidKeyword = SchemaType::GetValidateErrorKeyword(code).GetString();\
- RAPIDJSON_INVALID_KEYWORD_VERBOSE(context.invalidKeyword);\
+ RAPIDJSON_SCHEMA_PRINT(InvalidKeyword, context.invalidKeyword);\
return false;\
RAPIDJSON_MULTILINEMACRO_END
@@ -142,10 +184,54 @@ RAPIDJSON_MULTILINEMACRO_END
enum ValidateFlag {
kValidateNoFlags = 0, //!< No flags are set.
kValidateContinueOnErrorFlag = 1, //!< Don't stop after first validation error.
+ kValidateReadFlag = 2, //!< Validation is for a read semantic.
+ kValidateWriteFlag = 4, //!< Validation is for a write semantic.
kValidateDefaultFlags = RAPIDJSON_VALIDATE_DEFAULT_FLAGS //!< Default validate flags. Can be customized by defining RAPIDJSON_VALIDATE_DEFAULT_FLAGS
};
///////////////////////////////////////////////////////////////////////////////
+// Specification
+enum SchemaDraft {
+ kDraftUnknown = -1,
+ kDraftNone = 0,
+ kDraft03 = 3,
+ kDraftMin = 4, //!< Current minimum supported draft
+ kDraft04 = 4,
+ kDraft05 = 5,
+ kDraftMax = 5, //!< Current maximum supported draft
+ kDraft06 = 6,
+ kDraft07 = 7,
+ kDraft2019_09 = 8,
+ kDraft2020_12 = 9
+};
+
+enum OpenApiVersion {
+ kVersionUnknown = -1,
+ kVersionNone = 0,
+ kVersionMin = 2, //!< Current minimum supported version
+ kVersion20 = 2,
+ kVersion30 = 3,
+ kVersionMax = 3, //!< Current maximum supported version
+ kVersion31 = 4,
+};
+
+struct Specification {
+ Specification(SchemaDraft d) : draft(d), oapi(kVersionNone) {}
+ Specification(OpenApiVersion o) : oapi(o) {
+ if (oapi == kVersion20) draft = kDraft04;
+ else if (oapi == kVersion30) draft = kDraft05;
+ else if (oapi == kVersion31) draft = kDraft2020_12;
+ else draft = kDraft04;
+ }
+ ~Specification() {}
+ bool IsSupported() const {
+ return ((draft >= kDraftMin && draft <= kDraftMax) && ((oapi == kVersionNone) || (oapi >= kVersionMin && oapi <= kVersionMax)));
+ }
+ SchemaDraft draft;
+ OpenApiVersion oapi;
+};
+
+///////////////////////////////////////////////////////////////////////////////
// Forward declarations
template <typename ValueType, typename Allocator>
@@ -234,8 +320,11 @@ public:
virtual void EndDisallowedType(const typename SchemaType::ValueType& actualType) = 0;
virtual void NotAllOf(ISchemaValidator** subvalidators, SizeType count) = 0;
virtual void NoneOf(ISchemaValidator** subvalidators, SizeType count) = 0;
- virtual void NotOneOf(ISchemaValidator** subvalidators, SizeType count, bool matched) = 0;
+ virtual void NotOneOf(ISchemaValidator** subvalidators, SizeType count) = 0;
+ virtual void MultipleOneOf(SizeType index1, SizeType index2) = 0;
virtual void Disallowed() = 0;
+ virtual void DisallowedWhenWriting() = 0;
+ virtual void DisallowedWhenReading() = 0;
};
@@ -353,10 +442,11 @@ struct SchemaValidationContext {
kPatternValidatorWithAdditionalProperty
};
- SchemaValidationContext(SchemaValidatorFactoryType& f, ErrorHandlerType& eh, const SchemaType* s) :
+ SchemaValidationContext(SchemaValidatorFactoryType& f, ErrorHandlerType& eh, const SchemaType* s, unsigned fl = 0) :
factory(f),
error_handler(eh),
schema(s),
+ flags(fl),
valueSchema(),
invalidKeyword(),
invalidCode(),
@@ -380,13 +470,19 @@ struct SchemaValidationContext {
if (hasher)
factory.DestroryHasher(hasher);
if (validators) {
- for (SizeType i = 0; i < validatorCount; i++)
- factory.DestroySchemaValidator(validators[i]);
+ for (SizeType i = 0; i < validatorCount; i++) {
+ if (validators[i]) {
+ factory.DestroySchemaValidator(validators[i]);
+ }
+ }
factory.FreeState(validators);
}
if (patternPropertiesValidators) {
- for (SizeType i = 0; i < patternPropertiesValidatorCount; i++)
- factory.DestroySchemaValidator(patternPropertiesValidators[i]);
+ for (SizeType i = 0; i < patternPropertiesValidatorCount; i++) {
+ if (patternPropertiesValidators[i]) {
+ factory.DestroySchemaValidator(patternPropertiesValidators[i]);
+ }
+ }
factory.FreeState(patternPropertiesValidators);
}
if (patternPropertiesSchemas)
@@ -398,6 +494,7 @@ struct SchemaValidationContext {
SchemaValidatorFactoryType& factory;
ErrorHandlerType& error_handler;
const SchemaType* schema;
+ unsigned flags;
const SchemaType* valueSchema;
const Ch* invalidKeyword;
ValidateErrorCode invalidCode;
@@ -439,7 +536,8 @@ public:
Schema(SchemaDocumentType* schemaDocument, const PointerType& p, const ValueType& value, const ValueType& document, AllocatorType* allocator, const UriType& id = UriType()) :
allocator_(allocator),
uri_(schemaDocument->GetURI(), *allocator),
- id_(id),
+ id_(id, allocator),
+ spec_(schemaDocument->GetSpecification()),
pointer_(p, allocator),
typeless_(schemaDocument->GetTypeless()),
enum_(),
@@ -472,8 +570,15 @@ public:
maxLength_(~SizeType(0)),
exclusiveMinimum_(false),
exclusiveMaximum_(false),
- defaultValueLength_(0)
+ defaultValueLength_(0),
+ readOnly_(false),
+ writeOnly_(false),
+ nullable_(false)
{
+ GenericStringBuffer<EncodingType> sb;
+ p.StringifyUriFragment(sb);
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Schema", sb.GetString(), id.GetString());
+
typedef typename ValueType::ConstValueIterator ConstValueIterator;
typedef typename ValueType::ConstMemberIterator ConstMemberIterator;
@@ -492,10 +597,13 @@ public:
return;
// If we have an id property, resolve it with the in-scope id
+ // Not supported for open api 2.0 or 3.0
+ if (spec_.oapi != kVersion20 && spec_.oapi != kVersion30)
if (const ValueType* v = GetMember(value, GetIdString())) {
if (v->IsString()) {
UriType local(*v, allocator);
id_ = local.Resolve(id_, allocator);
+ RAPIDJSON_SCHEMA_PRINT(SchemaIds, id.GetString(), v->GetString(), id_.GetString());
}
}
@@ -512,9 +620,9 @@ public:
if (v->IsArray() && v->Size() > 0) {
enum_ = static_cast<uint64_t*>(allocator_->Malloc(sizeof(uint64_t) * v->Size()));
for (ConstValueIterator itr = v->Begin(); itr != v->End(); ++itr) {
- typedef Hasher<EncodingType, MemoryPoolAllocator<> > EnumHasherType;
+ typedef Hasher<EncodingType, MemoryPoolAllocator<AllocatorType> > EnumHasherType;
char buffer[256u + 24];
- MemoryPoolAllocator<> hasherAllocator(buffer, sizeof(buffer));
+ MemoryPoolAllocator<AllocatorType> hasherAllocator(buffer, sizeof(buffer));
EnumHasherType h(&hasherAllocator, 256);
itr->Accept(h);
enum_[enumCount_++] = h.GetHashCode();
@@ -522,8 +630,11 @@ public:
}
}
- if (schemaDocument) {
+ if (schemaDocument)
AssignIfExist(allOf_, *schemaDocument, p, value, GetAllOfString(), document);
+
+ // AnyOf, OneOf, Not not supported for open api 2.0
+ if (schemaDocument && spec_.oapi != kVersion20) {
AssignIfExist(anyOf_, *schemaDocument, p, value, GetAnyOfString(), document);
AssignIfExist(oneOf_, *schemaDocument, p, value, GetOneOfString(), document);
@@ -552,6 +663,8 @@ public:
if (itr->IsString())
AddUniqueElement(allProperties, *itr);
+ // Dependencies not supported for open api 2.0 and 3.0
+ if (spec_.oapi != kVersion20 && spec_.oapi != kVersion30)
if (dependencies && dependencies->IsObject())
for (ConstMemberIterator itr = dependencies->MemberBegin(); itr != dependencies->MemberEnd(); ++itr) {
AddUniqueElement(allProperties, itr->name);
@@ -581,6 +694,8 @@ public:
}
}
+ // PatternProperties not supported for open api 2.0 and 3.0
+ if (spec_.oapi != kVersion20 && spec_.oapi != kVersion30)
if (const ValueType* v = GetMember(value, GetPatternPropertiesString())) {
PointerType q = p.Append(GetPatternPropertiesString(), allocator_);
patternProperties_ = static_cast<PatternProperty*>(allocator_->Malloc(sizeof(PatternProperty) * v->MemberCount()));
@@ -588,8 +703,9 @@ public:
for (ConstMemberIterator itr = v->MemberBegin(); itr != v->MemberEnd(); ++itr) {
new (&patternProperties_[patternPropertyCount_]) PatternProperty();
- patternProperties_[patternPropertyCount_].pattern = CreatePattern(itr->name);
- schemaDocument->CreateSchema(&patternProperties_[patternPropertyCount_].schema, q.Append(itr->name, allocator_), itr->value, document, id_);
+ PointerType r = q.Append(itr->name, allocator_);
+ patternProperties_[patternPropertyCount_].pattern = CreatePattern(itr->name, schemaDocument, r);
+ schemaDocument->CreateSchema(&patternProperties_[patternPropertyCount_].schema, r, itr->value, document, id_);
patternPropertyCount_++;
}
}
@@ -604,6 +720,8 @@ public:
}
}
+ // Dependencies not supported for open api 2.0 and 3.0
+ if (spec_.oapi != kVersion20 && spec_.oapi != kVersion30)
if (dependencies && dependencies->IsObject()) {
PointerType q = p.Append(GetDependenciesString(), allocator_);
hasDependencies_ = true;
@@ -655,6 +773,8 @@ public:
AssignIfExist(minItems_, value, GetMinItemsString());
AssignIfExist(maxItems_, value, GetMaxItemsString());
+ // AdditionalItems not supported for openapi 2.0 and 3.0
+ if (spec_.oapi != kVersion20 && spec_.oapi != kVersion30)
if (const ValueType* v = GetMember(value, GetAdditionalItemsString())) {
if (v->IsBool())
additionalItems_ = v->GetBool();
@@ -669,7 +789,7 @@ public:
AssignIfExist(maxLength_, value, GetMaxLengthString());
if (const ValueType* v = GetMember(value, GetPatternString()))
- pattern_ = CreatePattern(*v);
+ pattern_ = CreatePattern(*v, schemaDocument, p.Append(GetPatternString(), allocator_));
// Number
if (const ValueType* v = GetMember(value, GetMinimumString()))
@@ -692,6 +812,23 @@ public:
if (v->IsString())
defaultValueLength_ = v->GetStringLength();
+ // ReadOnly - open api only (until draft 7 supported)
+ // WriteOnly - open api 3 only (until draft 7 supported)
+ // Both can't be true
+ if (spec_.oapi != kVersionNone)
+ AssignIfExist(readOnly_, value, GetReadOnlyString());
+ if (spec_.oapi >= kVersion30)
+ AssignIfExist(writeOnly_, value, GetWriteOnlyString());
+ if (readOnly_ && writeOnly_)
+ schemaDocument->SchemaError(kSchemaErrorReadOnlyAndWriteOnly, p);
+
+ // Nullable - open api 3 only
+ // If true add 'null' as allowable type
+ if (spec_.oapi >= kVersion30) {
+ AssignIfExist(nullable_, value, GetNullableString());
+ if (nullable_)
+ AddType(GetNullString());
+ }
}
~Schema() {
@@ -723,11 +860,16 @@ public:
return id_;
}
+ const Specification& GetSpecification() const {
+ return spec_;
+ }
+
const PointerType& GetPointer() const {
return pointer_;
}
bool BeginValue(Context& context) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::BeginValue");
if (context.inArray) {
if (uniqueItems_)
context.valueUniqueness = true;
@@ -759,6 +901,7 @@ public:
}
RAPIDJSON_FORCEINLINE bool EndValue(Context& context) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::EndValue");
// Only check pattern properties if we have validators
if (context.patternPropertiesValidatorCount > 0) {
bool otherValid = false;
@@ -822,16 +965,19 @@ public:
if (oneOf_.schemas) {
bool oneValid = false;
+ SizeType firstMatch = 0;
for (SizeType i = oneOf_.begin; i < oneOf_.begin + oneOf_.count; i++)
if (context.validators[i]->IsValid()) {
if (oneValid) {
- context.error_handler.NotOneOf(&context.validators[oneOf_.begin], oneOf_.count, true);
+ context.error_handler.MultipleOneOf(firstMatch, i - oneOf_.begin);
RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorOneOfMatch);
- } else
+ } else {
oneValid = true;
+ firstMatch = i - oneOf_.begin;
+ }
}
if (!oneValid) {
- context.error_handler.NotOneOf(&context.validators[oneOf_.begin], oneOf_.count, false);
+ context.error_handler.NotOneOf(&context.validators[oneOf_.begin], oneOf_.count);
RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorOneOf);
}
}
@@ -846,6 +992,7 @@ public:
}
bool Null(Context& context) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Null");
if (!(type_ & (1 << kNullSchemaType))) {
DisallowedType(context, GetNullString());
RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorType);
@@ -853,39 +1000,43 @@ public:
return CreateParallelValidator(context);
}
- bool Bool(Context& context, bool) const {
- if (!(type_ & (1 << kBooleanSchemaType))) {
- DisallowedType(context, GetBooleanString());
- RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorType);
- }
+ bool Bool(Context& context, bool b) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Bool", b);
+ if (!CheckBool(context, b))
+ return false;
return CreateParallelValidator(context);
}
bool Int(Context& context, int i) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Int", (int64_t)i);
if (!CheckInt(context, i))
return false;
return CreateParallelValidator(context);
}
bool Uint(Context& context, unsigned u) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Uint", (uint64_t)u);
if (!CheckUint(context, u))
return false;
return CreateParallelValidator(context);
}
bool Int64(Context& context, int64_t i) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Int64", i);
if (!CheckInt(context, i))
return false;
return CreateParallelValidator(context);
}
bool Uint64(Context& context, uint64_t u) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Uint64", u);
if (!CheckUint(context, u))
return false;
return CreateParallelValidator(context);
}
bool Double(Context& context, double d) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Double", d);
if (!(type_ & (1 << kNumberSchemaType))) {
DisallowedType(context, GetNumberString());
RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorType);
@@ -904,6 +1055,7 @@ public:
}
bool String(Context& context, const Ch* str, SizeType length, bool) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::String", str);
if (!(type_ & (1 << kStringSchemaType))) {
DisallowedType(context, GetStringString());
RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorType);
@@ -932,6 +1084,7 @@ public:
}
bool StartObject(Context& context) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::StartObject");
if (!(type_ & (1 << kObjectSchemaType))) {
DisallowedType(context, GetObjectString());
RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorType);
@@ -953,6 +1106,8 @@ public:
}
bool Key(Context& context, const Ch* str, SizeType len, bool) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::Key", str);
+
if (patternProperties_) {
context.patternPropertiesSchemaCount = 0;
for (SizeType i = 0; i < patternPropertyCount_; i++)
@@ -1004,6 +1159,7 @@ public:
}
bool EndObject(Context& context, SizeType memberCount) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::EndObject");
if (hasRequired_) {
context.error_handler.StartMissingProperties();
for (SizeType index = 0; index < propertyCount_; index++)
@@ -1051,6 +1207,7 @@ public:
}
bool StartArray(Context& context) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::StartArray");
context.arrayElementIndex = 0;
context.inArray = true; // Ensure we note that we are in an array
@@ -1063,6 +1220,7 @@ public:
}
bool EndArray(Context& context, SizeType elementCount) const {
+ RAPIDJSON_SCHEMA_PRINT(Method, "Schema::EndArray");
context.inArray = false;
if (elementCount < minItems_) {
@@ -1111,6 +1269,9 @@ public:
case kValidateErrorAnyOf: return GetAnyOfString();
case kValidateErrorNot: return GetNotString();
+ case kValidateErrorReadOnly: return GetReadOnlyString();
+ case kValidateErrorWriteOnly: return GetWriteOnlyString();
+
default: return GetNullString();
}
}
@@ -1158,15 +1319,14 @@ public:
RAPIDJSON_STRING_(ExclusiveMaximum, 'e', 'x', 'c', 'l', 'u', 's', 'i', 'v', 'e', 'M', 'a', 'x', 'i', 'm', 'u', 'm')
RAPIDJSON_STRING_(MultipleOf, 'm', 'u', 'l', 't', 'i', 'p', 'l', 'e', 'O', 'f')
RAPIDJSON_STRING_(DefaultValue, 'd', 'e', 'f', 'a', 'u', 'l', 't')
+ RAPIDJSON_STRING_(Schema, '$', 's', 'c', 'h', 'e', 'm', 'a')
RAPIDJSON_STRING_(Ref, '$', 'r', 'e', 'f')
RAPIDJSON_STRING_(Id, 'i', 'd')
-
- RAPIDJSON_STRING_(SchemeEnd, ':')
- RAPIDJSON_STRING_(AuthStart, '/', '/')
- RAPIDJSON_STRING_(QueryStart, '?')
- RAPIDJSON_STRING_(FragStart, '#')
- RAPIDJSON_STRING_(Slash, '/')
- RAPIDJSON_STRING_(Dot, '.')
+ RAPIDJSON_STRING_(Swagger, 's', 'w', 'a', 'g', 'g', 'e', 'r')
+ RAPIDJSON_STRING_(OpenApi, 'o', 'p', 'e', 'n', 'a', 'p', 'i')
+ RAPIDJSON_STRING_(ReadOnly, 'r', 'e', 'a', 'd', 'O', 'n', 'l', 'y')
+ RAPIDJSON_STRING_(WriteOnly, 'w', 'r', 'i', 't', 'e', 'O', 'n', 'l', 'y')
+ RAPIDJSON_STRING_(Nullable, 'n', 'u', 'l', 'l', 'a', 'b', 'l', 'e')
#undef RAPIDJSON_STRING_
@@ -1241,10 +1401,11 @@ private:
#if RAPIDJSON_SCHEMA_USE_INTERNALREGEX
template <typename ValueType>
- RegexType* CreatePattern(const ValueType& value) {
+ RegexType* CreatePattern(const ValueType& value, SchemaDocumentType* sd, const PointerType& p) {
if (value.IsString()) {
RegexType* r = new (allocator_->Malloc(sizeof(RegexType))) RegexType(value.GetString(), allocator_);
if (!r->IsValid()) {
+ sd->SchemaErrorValue(kSchemaErrorRegexInvalid, p, value.GetString(), value.GetStringLength());
r->~RegexType();
AllocatorType::Free(r);
r = 0;
@@ -1260,13 +1421,14 @@ private:
}
#elif RAPIDJSON_SCHEMA_USE_STDREGEX
template <typename ValueType>
- RegexType* CreatePattern(const ValueType& value) {
+ RegexType* CreatePattern(const ValueType& value, SchemaDocumentType* sd, const PointerType& p) {
if (value.IsString()) {
RegexType *r = static_cast<RegexType*>(allocator_->Malloc(sizeof(RegexType)));
try {
return new (r) RegexType(value.GetString(), std::size_t(value.GetStringLength()), std::regex_constants::ECMAScript);
}
- catch (const std::regex_error&) {
+ catch (const std::regex_error& e) {
+ sd->SchemaErrorValue(kSchemaErrorRegexInvalid, p, value.GetString(), value.GetStringLength());
AllocatorType::Free(r);
}
}
@@ -1279,7 +1441,9 @@ private:
}
#else
template <typename ValueType>
- RegexType* CreatePattern(const ValueType&) { return 0; }
+ RegexType* CreatePattern(const ValueType&) {
+ return 0;
+ }
static bool IsPatternMatch(const RegexType*, const Ch *, SizeType) { return true; }
#endif // RAPIDJSON_SCHEMA_USE_STDREGEX
@@ -1294,6 +1458,9 @@ private:
else if (type == GetNumberString() ) type_ |= (1 << kNumberSchemaType) | (1 << kIntegerSchemaType);
}
+ // Creates parallel validators for allOf, anyOf, oneOf, not and schema dependencies, if required.
+ // Also creates a hasher for enums and array uniqueness, if required.
+ // Also a useful place to add type-independent error checks.
bool CreateParallelValidator(Context& context) const {
if (enum_ || context.arrayUniqueness)
context.hasher = context.factory.CreateHasher();
@@ -1301,6 +1468,7 @@ private:
if (validatorCount_) {
RAPIDJSON_ASSERT(context.validators == 0);
context.validators = static_cast<ISchemaValidator**>(context.factory.MallocState(sizeof(ISchemaValidator*) * validatorCount_));
+ std::memset(context.validators, 0, sizeof(ISchemaValidator*) * validatorCount_);
context.validatorCount = validatorCount_;
// Always return after first failure for these sub-validators
@@ -1323,6 +1491,16 @@ private:
}
}
+ // Add any other type-independent checks here
+ if (readOnly_ && (context.flags & kValidateWriteFlag)) {
+ context.error_handler.DisallowedWhenWriting();
+ RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorReadOnly);
+ }
+ if (writeOnly_ && (context.flags & kValidateReadFlag)) {
+ context.error_handler.DisallowedWhenReading();
+ RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorWriteOnly);
+ }
+
return true;
}
@@ -1345,6 +1523,14 @@ private:
return false;
}
+ bool CheckBool(Context& context, bool) const {
+ if (!(type_ & (1 << kBooleanSchemaType))) {
+ DisallowedType(context, GetBooleanString());
+ RAPIDJSON_INVALID_KEYWORD_RETURN(kValidateErrorType);
+ }
+ return true;
+ }
+
bool CheckInt(Context& context, int64_t i) const {
if (!(type_ & ((1 << kIntegerSchemaType) | (1 << kNumberSchemaType)))) {
DisallowedType(context, GetIntegerString());
@@ -1510,6 +1696,7 @@ private:
AllocatorType* allocator_;
SValue uri_;
UriType id_;
+ Specification spec_;
PointerType pointer_;
const SchemaType* typeless_;
uint64_t* enum_;
@@ -1554,6 +1741,10 @@ private:
bool exclusiveMaximum_;
SizeType defaultValueLength_;
+
+ bool readOnly_;
+ bool writeOnly_;
+ bool nullable_;
};
template<typename Stack, typename Ch>
@@ -1600,7 +1791,13 @@ public:
virtual ~IGenericRemoteSchemaDocumentProvider() {}
virtual const SchemaDocumentType* GetRemoteDocument(const Ch* uri, SizeType length) = 0;
- virtual const SchemaDocumentType* GetRemoteDocument(GenericUri<ValueType, AllocatorType> uri) { return GetRemoteDocument(uri.GetBaseString(), uri.GetBaseStringLength()); }
+ virtual const SchemaDocumentType* GetRemoteDocument(const GenericUri<ValueType, AllocatorType> uri, Specification& spec) {
+ // Default implementation just calls through for compatibility
+ // Following line suppresses unused parameter warning
+ (void)spec;
+ // printf("GetRemoteDocument: %d %d\n", spec.draft, spec.oapi);
+ return GetRemoteDocument(uri.GetBaseString(), uri.GetBaseStringLength());
+ }
};
///////////////////////////////////////////////////////////////////////////////
@@ -1625,8 +1822,9 @@ public:
typedef typename EncodingType::Ch Ch;
typedef internal::Schema<GenericSchemaDocument> SchemaType;
typedef GenericPointer<ValueType, Allocator> PointerType;
- typedef GenericValue<EncodingType, AllocatorType> SValue;
+ typedef GenericValue<EncodingType, AllocatorType> GValue;
typedef GenericUri<ValueType, Allocator> UriType;
+ typedef GenericStringRef<Ch> StringRefType;
friend class internal::Schema<GenericSchemaDocument>;
template <typename, typename, typename>
friend class GenericSchemaValidator;
@@ -1641,18 +1839,24 @@ public:
\param remoteProvider An optional remote schema document provider for resolving remote reference. Can be null.
\param allocator An optional allocator instance for allocating memory. Can be null.
\param pointer An optional JSON pointer to the start of the schema document
+ \param spec Optional schema draft or OpenAPI version. Used if no specification in document. Defaults to draft-04.
*/
explicit GenericSchemaDocument(const ValueType& document, const Ch* uri = 0, SizeType uriLength = 0,
IRemoteSchemaDocumentProviderType* remoteProvider = 0, Allocator* allocator = 0,
- const PointerType& pointer = PointerType()) : // PR #1393
+ const PointerType& pointer = PointerType(), // PR #1393
+ const Specification& spec = Specification(kDraft04)) :
remoteProvider_(remoteProvider),
allocator_(allocator),
ownAllocator_(),
root_(),
typeless_(),
schemaMap_(allocator, kInitialSchemaMapSize),
- schemaRef_(allocator, kInitialSchemaRefSize)
+ schemaRef_(allocator, kInitialSchemaRefSize),
+ spec_(spec),
+ error_(kObjectType),
+ currentError_()
{
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaDocument::GenericSchemaDocument");
if (!allocator_)
ownAllocator_ = allocator_ = RAPIDJSON_NEW(Allocator)();
@@ -1663,6 +1867,10 @@ public:
typeless_ = static_cast<SchemaType*>(allocator_->Malloc(sizeof(SchemaType)));
new (typeless_) SchemaType(this, PointerType(), ValueType(kObjectType).Move(), ValueType(kObjectType).Move(), allocator_, docId_);
+ // Establish the schema draft or open api version.
+ // We only ever look for '$schema' or 'swagger' or 'openapi' at the root of the document.
+ SetSchemaSpecification(document);
+
// Generate root schema, it will call CreateSchema() to create sub-schemas,
// And call HandleRefSchema() if there are $ref.
// PR #1393 use input pointer if supplied
@@ -1673,6 +1881,11 @@ public:
else if (const ValueType* v = pointer.Get(document)) {
CreateSchema(&root_, pointer, *v, document, docId_);
}
+ else {
+ GenericStringBuffer<EncodingType> sb;
+ pointer.StringifyUriFragment(sb);
+ SchemaErrorValue(kSchemaErrorStartUnknown, PointerType(), sb.GetString(), static_cast<SizeType>(sb.GetSize() / sizeof(Ch)));
+ }
RAPIDJSON_ASSERT(root_ != 0);
@@ -1690,7 +1903,10 @@ public:
schemaMap_(std::move(rhs.schemaMap_)),
schemaRef_(std::move(rhs.schemaRef_)),
uri_(std::move(rhs.uri_)),
- docId_(rhs.docId_)
+ docId_(std::move(rhs.docId_)),
+ spec_(rhs.spec_),
+ error_(std::move(rhs.error_)),
+ currentError_(std::move(rhs.currentError_))
{
rhs.remoteProvider_ = 0;
rhs.allocator_ = 0;
@@ -1709,15 +1925,81 @@ public:
Allocator::Free(typeless_);
}
+ // these may contain some allocator data so clear before deleting ownAllocator_
+ uri_.SetNull();
+ error_.SetNull();
+ currentError_.SetNull();
+
RAPIDJSON_DELETE(ownAllocator_);
}
- const SValue& GetURI() const { return uri_; }
+ const GValue& GetURI() const { return uri_; }
+
+ const Specification& GetSpecification() const { return spec_; }
+ bool IsSupportedSpecification() const { return spec_.IsSupported(); }
+
+ //! Static method to get the specification of any schema document
+ // Returns kDraftNone if document is silent
+ static const Specification GetSpecification(const ValueType& document) {
+ SchemaDraft draft = GetSchemaDraft(document);
+ if (draft != kDraftNone)
+ return Specification(draft);
+ else {
+ OpenApiVersion oapi = GetOpenApiVersion(document);
+ if (oapi != kVersionNone)
+ return Specification(oapi);
+ }
+ return Specification(kDraftNone);
+ }
//! Get the root schema.
const SchemaType& GetRoot() const { return *root_; }
-private:
+ //! Gets the error object.
+ GValue& GetError() { return error_; }
+ const GValue& GetError() const { return error_; }
+
+ static const StringRefType& GetSchemaErrorKeyword(SchemaErrorCode schemaErrorCode) {
+ switch (schemaErrorCode) {
+ case kSchemaErrorStartUnknown: return GetStartUnknownString();
+ case kSchemaErrorRefPlainName: return GetRefPlainNameString();
+ case kSchemaErrorRefInvalid: return GetRefInvalidString();
+ case kSchemaErrorRefPointerInvalid: return GetRefPointerInvalidString();
+ case kSchemaErrorRefUnknown: return GetRefUnknownString();
+ case kSchemaErrorRefCyclical: return GetRefCyclicalString();
+ case kSchemaErrorRefNoRemoteProvider: return GetRefNoRemoteProviderString();
+ case kSchemaErrorRefNoRemoteSchema: return GetRefNoRemoteSchemaString();
+ case kSchemaErrorRegexInvalid: return GetRegexInvalidString();
+ case kSchemaErrorSpecUnknown: return GetSpecUnknownString();
+ case kSchemaErrorSpecUnsupported: return GetSpecUnsupportedString();
+ case kSchemaErrorSpecIllegal: return GetSpecIllegalString();
+ case kSchemaErrorReadOnlyAndWriteOnly: return GetReadOnlyAndWriteOnlyString();
+ default: return GetNullString();
+ }
+ }
+
+ //! Default error method
+ void SchemaError(const SchemaErrorCode code, const PointerType& location) {
+ currentError_ = GValue(kObjectType);
+ AddCurrentError(code, location);
+ }
+
+ //! Method for error with single string value insert
+ void SchemaErrorValue(const SchemaErrorCode code, const PointerType& location, const Ch* value, SizeType length) {
+ currentError_ = GValue(kObjectType);
+ currentError_.AddMember(GetValueString(), GValue(value, length, *allocator_).Move(), *allocator_);
+ AddCurrentError(code, location);
+ }
+
+ //! Method for error with invalid pointer
+ void SchemaErrorPointer(const SchemaErrorCode code, const PointerType& location, const Ch* value, SizeType length, const PointerType& pointer) {
+ currentError_ = GValue(kObjectType);
+ currentError_.AddMember(GetValueString(), GValue(value, length, *allocator_).Move(), *allocator_);
+ currentError_.AddMember(GetOffsetString(), static_cast<SizeType>(pointer.GetParseErrorOffset() / sizeof(Ch)), *allocator_);
+ AddCurrentError(code, location);
+ }
+
+ private:
//! Prohibit copying
GenericSchemaDocument(const GenericSchemaDocument&);
//! Prohibit assignment
@@ -1738,6 +2020,146 @@ private:
bool owned;
};
+ void AddErrorInstanceLocation(GValue& result, const PointerType& location) {
+ GenericStringBuffer<EncodingType> sb;
+ location.StringifyUriFragment(sb);
+ GValue instanceRef(sb.GetString(), static_cast<SizeType>(sb.GetSize() / sizeof(Ch)), *allocator_);
+ result.AddMember(GetInstanceRefString(), instanceRef, *allocator_);
+ }
+
+ void AddError(GValue& keyword, GValue& error) {
+ typename GValue::MemberIterator member = error_.FindMember(keyword);
+ if (member == error_.MemberEnd())
+ error_.AddMember(keyword, error, *allocator_);
+ else {
+ if (member->value.IsObject()) {
+ GValue errors(kArrayType);
+ errors.PushBack(member->value, *allocator_);
+ member->value = errors;
+ }
+ member->value.PushBack(error, *allocator_);
+ }
+ }
+
+ void AddCurrentError(const SchemaErrorCode code, const PointerType& location) {
+ RAPIDJSON_SCHEMA_PRINT(InvalidKeyword, GetSchemaErrorKeyword(code));
+ currentError_.AddMember(GetErrorCodeString(), code, *allocator_);
+ AddErrorInstanceLocation(currentError_, location);
+ AddError(GValue(GetSchemaErrorKeyword(code)).Move(), currentError_);
+ }
+
+#define RAPIDJSON_STRING_(name, ...) \
+ static const StringRefType& Get##name##String() {\
+ static const Ch s[] = { __VA_ARGS__, '\0' };\
+ static const StringRefType v(s, static_cast<SizeType>(sizeof(s) / sizeof(Ch) - 1)); \
+ return v;\
+ }
+
+ RAPIDJSON_STRING_(InstanceRef, 'i', 'n', 's', 't', 'a', 'n', 'c', 'e', 'R', 'e', 'f')
+ RAPIDJSON_STRING_(ErrorCode, 'e', 'r', 'r', 'o', 'r', 'C', 'o', 'd', 'e')
+ RAPIDJSON_STRING_(Value, 'v', 'a', 'l', 'u', 'e')
+ RAPIDJSON_STRING_(Offset, 'o', 'f', 'f', 's', 'e', 't')
+
+ RAPIDJSON_STRING_(Null, 'n', 'u', 'l', 'l')
+ RAPIDJSON_STRING_(SpecUnknown, 'S', 'p', 'e', 'c', 'U', 'n', 'k', 'n', 'o', 'w', 'n')
+ RAPIDJSON_STRING_(SpecUnsupported, 'S', 'p', 'e', 'c', 'U', 'n', 's', 'u', 'p', 'p', 'o', 'r', 't', 'e', 'd')
+ RAPIDJSON_STRING_(SpecIllegal, 'S', 'p', 'e', 'c', 'I', 'l', 'l', 'e', 'g', 'a', 'l')
+ RAPIDJSON_STRING_(StartUnknown, 'S', 't', 'a', 'r', 't', 'U', 'n', 'k', 'n', 'o', 'w', 'n')
+ RAPIDJSON_STRING_(RefPlainName, 'R', 'e', 'f', 'P', 'l', 'a', 'i', 'n', 'N', 'a', 'm', 'e')
+ RAPIDJSON_STRING_(RefInvalid, 'R', 'e', 'f', 'I', 'n', 'v', 'a', 'l', 'i', 'd')
+ RAPIDJSON_STRING_(RefPointerInvalid, 'R', 'e', 'f', 'P', 'o', 'i', 'n', 't', 'e', 'r', 'I', 'n', 'v', 'a', 'l', 'i', 'd')
+ RAPIDJSON_STRING_(RefUnknown, 'R', 'e', 'f', 'U', 'n', 'k', 'n', 'o', 'w', 'n')
+ RAPIDJSON_STRING_(RefCyclical, 'R', 'e', 'f', 'C', 'y', 'c', 'l', 'i', 'c', 'a', 'l')
+ RAPIDJSON_STRING_(RefNoRemoteProvider, 'R', 'e', 'f', 'N', 'o', 'R', 'e', 'm', 'o', 't', 'e', 'P', 'r', 'o', 'v', 'i', 'd', 'e', 'r')
+ RAPIDJSON_STRING_(RefNoRemoteSchema, 'R', 'e', 'f', 'N', 'o', 'R', 'e', 'm', 'o', 't', 'e', 'S', 'c', 'h', 'e', 'm', 'a')
+ RAPIDJSON_STRING_(ReadOnlyAndWriteOnly, 'R', 'e', 'a', 'd', 'O', 'n', 'l', 'y', 'A', 'n', 'd', 'W', 'r', 'i', 't', 'e', 'O', 'n', 'l', 'y')
+ RAPIDJSON_STRING_(RegexInvalid, 'R', 'e', 'g', 'e', 'x', 'I', 'n', 'v', 'a', 'l', 'i', 'd')
+
+#undef RAPIDJSON_STRING_
+
+ // Static method to get schema draft of any schema document
+ static SchemaDraft GetSchemaDraft(const ValueType& document) {
+ static const Ch kDraft03String[] = { 'h', 't', 't', 'p', ':', '/', '/', 'j', 's', 'o', 'n', '-', 's', 'c', 'h', 'e', 'm', 'a', '.', 'o', 'r', 'g', '/', 'd', 'r', 'a', 'f', 't', '-', '0', '3', '/', 's', 'c', 'h', 'e', 'm', 'a', '#', '\0' };
+ static const Ch kDraft04String[] = { 'h', 't', 't', 'p', ':', '/', '/', 'j', 's', 'o', 'n', '-', 's', 'c', 'h', 'e', 'm', 'a', '.', 'o', 'r', 'g', '/', 'd', 'r', 'a', 'f', 't', '-', '0', '4', '/', 's', 'c', 'h', 'e', 'm', 'a', '#', '\0' };
+ static const Ch kDraft05String[] = { 'h', 't', 't', 'p', ':', '/', '/', 'j', 's', 'o', 'n', '-', 's', 'c', 'h', 'e', 'm', 'a', '.', 'o', 'r', 'g', '/', 'd', 'r', 'a', 'f', 't', '-', '0', '5', '/', 's', 'c', 'h', 'e', 'm', 'a', '#', '\0' };
+ static const Ch kDraft06String[] = { 'h', 't', 't', 'p', ':', '/', '/', 'j', 's', 'o', 'n', '-', 's', 'c', 'h', 'e', 'm', 'a', '.', 'o', 'r', 'g', '/', 'd', 'r', 'a', 'f', 't', '-', '0', '6', '/', 's', 'c', 'h', 'e', 'm', 'a', '#', '\0' };
+ static const Ch kDraft07String[] = { 'h', 't', 't', 'p', ':', '/', '/', 'j', 's', 'o', 'n', '-', 's', 'c', 'h', 'e', 'm', 'a', '.', 'o', 'r', 'g', '/', 'd', 'r', 'a', 'f', 't', '-', '0', '7', '/', 's', 'c', 'h', 'e', 'm', 'a', '#', '\0' };
+ static const Ch kDraft2019_09String[] = { 'h', 't', 't', 'p', 's', ':', '/', '/', 'j', 's', 'o', 'n', '-', 's', 'c', 'h', 'e', 'm', 'a', '.', 'o', 'r', 'g', '/', 'd', 'r', 'a', 'f', 't', '/', '2', '0', '1', '9', '-', '0', '9', '/', 's', 'c', 'h', 'e', 'm', 'a', '\0' };
+ static const Ch kDraft2020_12String[] = { 'h', 't', 't', 'p', 's', ':', '/', '/', 'j', 's', 'o', 'n', '-', 's', 'c', 'h', 'e', 'm', 'a', '.', 'o', 'r', 'g', '/', 'd', 'r', 'a', 'f', 't', '/', '2', '0', '2', '0', '-', '1', '2', '/', 's', 'c', 'h', 'e', 'm', 'a', '\0' };
+
+ if (!document.IsObject()) {
+ return kDraftNone;
+ }
+
+ // Get the schema draft from the $schema keyword at the supplied location
+ typename ValueType::ConstMemberIterator itr = document.FindMember(SchemaType::GetSchemaString());
+ if (itr != document.MemberEnd()) {
+ if (!itr->value.IsString()) return kDraftUnknown;
+ const UriType draftUri(itr->value);
+ // Check base uri for match
+ if (draftUri.Match(UriType(kDraft04String), false)) return kDraft04;
+ if (draftUri.Match(UriType(kDraft05String), false)) return kDraft05;
+ if (draftUri.Match(UriType(kDraft06String), false)) return kDraft06;
+ if (draftUri.Match(UriType(kDraft07String), false)) return kDraft07;
+ if (draftUri.Match(UriType(kDraft03String), false)) return kDraft03;
+ if (draftUri.Match(UriType(kDraft2019_09String), false)) return kDraft2019_09;
+ if (draftUri.Match(UriType(kDraft2020_12String), false)) return kDraft2020_12;
+ return kDraftUnknown;
+ }
+ // $schema not found
+ return kDraftNone;
+ }
+
+
+ // Get open api version of any schema document
+ static OpenApiVersion GetOpenApiVersion(const ValueType& document) {
+ static const Ch kVersion20String[] = { '2', '.', '0', '\0' };
+ static const Ch kVersion30String[] = { '3', '.', '0', '.', '\0' }; // ignore patch level
+ static const Ch kVersion31String[] = { '3', '.', '1', '.', '\0' }; // ignore patch level
+ static SizeType len = internal::StrLen<Ch>(kVersion30String);
+
+ if (!document.IsObject()) {
+ return kVersionNone;
+ }
+
+ // Get the open api version from the swagger / openapi keyword at the supplied location
+ typename ValueType::ConstMemberIterator itr = document.FindMember(SchemaType::GetSwaggerString());
+ if (itr == document.MemberEnd()) itr = document.FindMember(SchemaType::GetOpenApiString());
+ if (itr != document.MemberEnd()) {
+ if (!itr->value.IsString()) return kVersionUnknown;
+ const ValueType kVersion20Value(kVersion20String);
+ if (kVersion20Value == itr->value) return kVersion20; // must match 2.0 exactly
+ const ValueType kVersion30Value(kVersion30String);
+ if (itr->value.GetStringLength() > len && kVersion30Value == ValueType(itr->value.GetString(), len)) return kVersion30; // must match 3.0.x
+ const ValueType kVersion31Value(kVersion31String);
+ if (itr->value.GetStringLength() > len && kVersion31Value == ValueType(itr->value.GetString(), len)) return kVersion31; // must match 3.1.x
+ return kVersionUnknown;
+ }
+ // swagger or openapi not found
+ return kVersionNone;
+ }
+
+ // Get the draft of the schema or the open api version (which implies the draft).
+ // Report an error if schema draft or open api version not supported or not recognized, or both in document, and carry on.
+ void SetSchemaSpecification(const ValueType& document) {
+ // Look for '$schema', 'swagger' or 'openapi' keyword at document root
+ SchemaDraft docDraft = GetSchemaDraft(document);
+ OpenApiVersion docOapi = GetOpenApiVersion(document);
+ // Error if both in document
+ if (docDraft != kDraftNone && docOapi != kVersionNone)
+ SchemaError(kSchemaErrorSpecIllegal, PointerType());
+ // Use document draft or open api version if present or use spec from constructor
+ if (docDraft != kDraftNone)
+ spec_ = Specification(docDraft);
+ else if (docOapi != kVersionNone)
+ spec_ = Specification(docOapi);
+ // Error if draft or version unknown
+ if (spec_.draft == kDraftUnknown || spec_.oapi == kVersionUnknown)
+ SchemaError(kSchemaErrorSpecUnknown, PointerType());
+ else if (!spec_.IsSupported())
+ SchemaError(kSchemaErrorSpecUnsupported, PointerType());
+ }
+
// Changed by PR #1393
void CreateSchemaRecursive(const SchemaType** schema, const PointerType& pointer, const ValueType& v, const ValueType& document, const UriType& id) {
if (v.GetType() == kObjectType) {
@@ -1754,6 +2176,9 @@ private:
// Changed by PR #1393
const UriType& CreateSchema(const SchemaType** schema, const PointerType& pointer, const ValueType& v, const ValueType& document, const UriType& id) {
RAPIDJSON_ASSERT(pointer.IsValid());
+ GenericStringBuffer<EncodingType> sb;
+ pointer.StringifyUriFragment(sb);
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaDocument::CreateSchema", sb.GetString(), id.GetString());
if (v.IsObject()) {
if (const SchemaType* sc = GetSchema(pointer)) {
if (schema)
@@ -1783,41 +2208,53 @@ private:
if (itr == v.MemberEnd())
return false;
+ GenericStringBuffer<EncodingType> sb;
+ source.StringifyUriFragment(sb);
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaDocument::HandleRefSchema", sb.GetString(), id.GetString());
// Resolve the source pointer to the $ref'ed schema (finally)
new (schemaRef_.template Push<SchemaRefPtr>()) SchemaRefPtr(&source);
if (itr->value.IsString()) {
SizeType len = itr->value.GetStringLength();
- if (len > 0) {
+ if (len == 0)
+ SchemaError(kSchemaErrorRefInvalid, source);
+ else {
// First resolve $ref against the in-scope id
UriType scopeId = UriType(id, allocator_);
UriType ref = UriType(itr->value, allocator_).Resolve(scopeId, allocator_);
+ RAPIDJSON_SCHEMA_PRINT(SchemaIds, id.GetString(), itr->value.GetString(), ref.GetString());
// See if the resolved $ref minus the fragment matches a resolved id in this document
// Search from the root. Returns the subschema in the document and its absolute JSON pointer.
PointerType basePointer = PointerType();
const ValueType *base = FindId(document, ref, basePointer, docId_, false);
if (!base) {
// Remote reference - call the remote document provider
- if (remoteProvider_) {
- if (const GenericSchemaDocument* remoteDocument = remoteProvider_->GetRemoteDocument(ref)) {
+ if (!remoteProvider_)
+ SchemaError(kSchemaErrorRefNoRemoteProvider, source);
+ else {
+ if (const GenericSchemaDocument* remoteDocument = remoteProvider_->GetRemoteDocument(ref, spec_)) {
const Ch* s = ref.GetFragString();
len = ref.GetFragStringLength();
if (len <= 1 || s[1] == '/') {
// JSON pointer fragment, absolute in the remote schema
const PointerType pointer(s, len, allocator_);
- if (pointer.IsValid()) {
+ if (!pointer.IsValid())
+ SchemaErrorPointer(kSchemaErrorRefPointerInvalid, source, s, len, pointer);
+ else {
// Get the subschema
if (const SchemaType *sc = remoteDocument->GetSchema(pointer)) {
if (schema)
*schema = sc;
AddSchemaRefs(const_cast<SchemaType *>(sc));
return true;
- }
+ } else
+ SchemaErrorValue(kSchemaErrorRefUnknown, source, ref.GetString(), ref.GetStringLength());
}
- } else {
- // Plain name fragment, not allowed
- }
- }
+ } else
+ // Plain name fragment, not allowed in remote schema
+ SchemaErrorValue(kSchemaErrorRefPlainName, source, s, len);
+ } else
+ SchemaErrorValue(kSchemaErrorRefNoRemoteSchema, source, ref.GetString(), ref.GetStringLength());
}
}
else { // Local reference
@@ -1826,16 +2263,18 @@ private:
if (len <= 1 || s[1] == '/') {
// JSON pointer fragment, relative to the resolved URI
const PointerType relPointer(s, len, allocator_);
- if (relPointer.IsValid()) {
+ if (!relPointer.IsValid())
+ SchemaErrorPointer(kSchemaErrorRefPointerInvalid, source, s, len, relPointer);
+ else {
// Get the subschema
if (const ValueType *pv = relPointer.Get(*base)) {
// Now get the absolute JSON pointer by adding relative to base
- PointerType pointer(basePointer);
+ PointerType pointer(basePointer, allocator_);
for (SizeType i = 0; i < relPointer.GetTokenCount(); i++)
pointer = pointer.Append(relPointer.GetTokens()[i], allocator_);
- //GenericStringBuffer<EncodingType> sb;
- //pointer.StringifyUriFragment(sb);
- if (pointer.IsValid() && !IsCyclicRef(pointer)) {
+ if (IsCyclicRef(pointer))
+ SchemaErrorValue(kSchemaErrorRefCyclical, source, ref.GetString(), ref.GetStringLength());
+ else {
// Call CreateSchema recursively, but first compute the in-scope id for the $ref target as we have jumped there
// TODO: cache pointer <-> id mapping
size_t unresolvedTokenIndex;
@@ -1843,17 +2282,21 @@ private:
CreateSchema(schema, pointer, *pv, document, scopeId);
return true;
}
- }
+ } else
+ SchemaErrorValue(kSchemaErrorRefUnknown, source, ref.GetString(), ref.GetStringLength());
}
} else {
// Plain name fragment, relative to the resolved URI
+ // Not supported in open api 2.0 and 3.0
+ PointerType pointer(allocator_);
+ if (spec_.oapi == kVersion20 || spec_.oapi == kVersion30)
+ SchemaErrorValue(kSchemaErrorRefPlainName, source, s, len);
// See if the fragment matches an id in this document.
// Search from the base we just established. Returns the subschema in the document and its absolute JSON pointer.
- PointerType pointer = PointerType();
- if (const ValueType *pv = FindId(*base, ref, pointer, UriType(ref.GetBaseString(), ref.GetBaseStringLength(), allocator_), true, basePointer)) {
- if (!IsCyclicRef(pointer)) {
- //GenericStringBuffer<EncodingType> sb;
- //pointer.StringifyUriFragment(sb);
+ else if (const ValueType *pv = FindId(*base, ref, pointer, UriType(ref.GetBaseString(), ref.GetBaseStringLength(), allocator_), true, basePointer)) {
+ if (IsCyclicRef(pointer))
+ SchemaErrorValue(kSchemaErrorRefCyclical, source, ref.GetString(), ref.GetStringLength());
+ else {
// Call CreateSchema recursively, but first compute the in-scope id for the $ref target as we have jumped there
// TODO: cache pointer <-> id mapping
size_t unresolvedTokenIndex;
@@ -1861,7 +2304,8 @@ private:
CreateSchema(schema, pointer, *pv, document, scopeId);
return true;
}
- }
+ } else
+ SchemaErrorValue(kSchemaErrorRefUnknown, source, ref.GetString(), ref.GetStringLength());
}
}
}
@@ -1891,6 +2335,7 @@ private:
}
// See if it matches
if (localuri.Match(finduri, full)) {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaDocument::FindId (match)", full ? localuri.GetString() : localuri.GetBaseString());
resval = const_cast<ValueType *>(&doc);
resptr = here;
return resval;
@@ -1917,6 +2362,7 @@ private:
// Added by PR #1393
void AddSchemaRefs(SchemaType* schema) {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaDocument::AddSchemaRefs");
while (!schemaRef_.Empty()) {
SchemaRefPtr *ref = schemaRef_.template Pop<SchemaRefPtr>(1);
SchemaEntry *entry = schemaMap_.template Push<SchemaEntry>();
@@ -1958,8 +2404,11 @@ private:
SchemaType* typeless_;
internal::Stack<Allocator> schemaMap_; // Stores created Pointer -> Schemas
internal::Stack<Allocator> schemaRef_; // Stores Pointer(s) from $ref(s) until resolved
- SValue uri_; // Schema document URI
+ GValue uri_; // Schema document URI
UriType docId_;
+ Specification spec_;
+ GValue error_;
+ GValue currentError_;
};
//! GenericSchemaDocument using Value type.
@@ -2023,11 +2472,10 @@ public:
currentError_(),
missingDependents_(),
valid_(true),
- flags_(kValidateDefaultFlags)
-#if RAPIDJSON_SCHEMA_VERBOSE
- , depth_(0)
-#endif
+ flags_(kValidateDefaultFlags),
+ depth_(0)
{
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::GenericSchemaValidator");
}
//! Constructor with output handler.
@@ -2055,11 +2503,10 @@ public:
currentError_(),
missingDependents_(),
valid_(true),
- flags_(kValidateDefaultFlags)
-#if RAPIDJSON_SCHEMA_VERBOSE
- , depth_(0)
-#endif
+ flags_(kValidateDefaultFlags),
+ depth_(0)
{
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::GenericSchemaValidator (output handler)");
}
//! Destructor.
@@ -2092,13 +2539,12 @@ public:
return flags_;
}
- //! Checks whether the current state is valid.
- // Implementation of ISchemaValidator
virtual bool IsValid() const {
if (!valid_) return false;
if (GetContinueOnErrors() && !error_.ObjectEmpty()) return false;
return true;
}
+ //! End of Implementation of ISchemaValidator
//! Gets the error object.
ValueType& GetError() { return error_; }
@@ -2306,13 +2752,29 @@ public:
void NoneOf(ISchemaValidator** subvalidators, SizeType count) {
AddErrorArray(kValidateErrorAnyOf, subvalidators, count);
}
- void NotOneOf(ISchemaValidator** subvalidators, SizeType count, bool matched = false) {
- AddErrorArray(matched ? kValidateErrorOneOfMatch : kValidateErrorOneOf, subvalidators, count);
+ void NotOneOf(ISchemaValidator** subvalidators, SizeType count) {
+ AddErrorArray(kValidateErrorOneOf, subvalidators, count);
+ }
+ void MultipleOneOf(SizeType index1, SizeType index2) {
+ ValueType matches(kArrayType);
+ matches.PushBack(index1, GetStateAllocator());
+ matches.PushBack(index2, GetStateAllocator());
+ currentError_.SetObject();
+ currentError_.AddMember(GetMatchesString(), matches, GetStateAllocator());
+ AddCurrentError(kValidateErrorOneOfMatch);
}
void Disallowed() {
currentError_.SetObject();
AddCurrentError(kValidateErrorNot);
}
+ void DisallowedWhenWriting() {
+ currentError_.SetObject();
+ AddCurrentError(kValidateErrorReadOnly);
+ }
+ void DisallowedWhenReading() {
+ currentError_.SetObject();
+ AddCurrentError(kValidateErrorWriteOnly);
+ }
#define RAPIDJSON_STRING_(name, ...) \
static const StringRefType& Get##name##String() {\
@@ -2331,25 +2793,18 @@ public:
RAPIDJSON_STRING_(ErrorCode, 'e', 'r', 'r', 'o', 'r', 'C', 'o', 'd', 'e')
RAPIDJSON_STRING_(ErrorMessage, 'e', 'r', 'r', 'o', 'r', 'M', 'e', 's', 's', 'a', 'g', 'e')
RAPIDJSON_STRING_(Duplicates, 'd', 'u', 'p', 'l', 'i', 'c', 'a', 't', 'e', 's')
+ RAPIDJSON_STRING_(Matches, 'm', 'a', 't', 'c', 'h', 'e', 's')
#undef RAPIDJSON_STRING_
-#if RAPIDJSON_SCHEMA_VERBOSE
-#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_() \
-RAPIDJSON_MULTILINEMACRO_BEGIN\
- *documentStack_.template Push<Ch>() = '\0';\
- documentStack_.template Pop<Ch>(1);\
- internal::PrintInvalidDocument(documentStack_.template Bottom<Ch>());\
-RAPIDJSON_MULTILINEMACRO_END
-#else
-#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_()
-#endif
-
#define RAPIDJSON_SCHEMA_HANDLE_BEGIN_(method, arg1)\
if (!valid_) return false; \
if ((!BeginValue() && !GetContinueOnErrors()) || (!CurrentSchema().method arg1 && !GetContinueOnErrors())) {\
- RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_();\
- return valid_ = false;\
+ *documentStack_.template Push<Ch>() = '\0';\
+ documentStack_.template Pop<Ch>(1);\
+ RAPIDJSON_SCHEMA_PRINT(InvalidDocument, documentStack_.template Bottom<Ch>());\
+ valid_ = false;\
+ return valid_;\
}
#define RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(method, arg2)\
@@ -2386,50 +2841,66 @@ RAPIDJSON_MULTILINEMACRO_END
{ RAPIDJSON_SCHEMA_HANDLE_VALUE_(String, (CurrentContext(), str, length, copy), (str, length, copy)); }
bool StartObject() {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::StartObject");
RAPIDJSON_SCHEMA_HANDLE_BEGIN_(StartObject, (CurrentContext()));
RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(StartObject, ());
- return valid_ = !outputHandler_ || outputHandler_->StartObject();
+ valid_ = !outputHandler_ || outputHandler_->StartObject();
+ return valid_;
}
bool Key(const Ch* str, SizeType len, bool copy) {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::Key", str);
if (!valid_) return false;
AppendToken(str, len);
- if (!CurrentSchema().Key(CurrentContext(), str, len, copy) && !GetContinueOnErrors()) return valid_ = false;
+ if (!CurrentSchema().Key(CurrentContext(), str, len, copy) && !GetContinueOnErrors()) {
+ valid_ = false;
+ return valid_;
+ }
RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(Key, (str, len, copy));
- return valid_ = !outputHandler_ || outputHandler_->Key(str, len, copy);
+ valid_ = !outputHandler_ || outputHandler_->Key(str, len, copy);
+ return valid_;
}
bool EndObject(SizeType memberCount) {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::EndObject");
if (!valid_) return false;
RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(EndObject, (memberCount));
- if (!CurrentSchema().EndObject(CurrentContext(), memberCount) && !GetContinueOnErrors()) return valid_ = false;
+ if (!CurrentSchema().EndObject(CurrentContext(), memberCount) && !GetContinueOnErrors()) {
+ valid_ = false;
+ return valid_;
+ }
RAPIDJSON_SCHEMA_HANDLE_END_(EndObject, (memberCount));
}
bool StartArray() {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::StartArray");
RAPIDJSON_SCHEMA_HANDLE_BEGIN_(StartArray, (CurrentContext()));
RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(StartArray, ());
- return valid_ = !outputHandler_ || outputHandler_->StartArray();
+ valid_ = !outputHandler_ || outputHandler_->StartArray();
+ return valid_;
}
bool EndArray(SizeType elementCount) {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::EndArray");
if (!valid_) return false;
RAPIDJSON_SCHEMA_HANDLE_PARALLEL_(EndArray, (elementCount));
- if (!CurrentSchema().EndArray(CurrentContext(), elementCount) && !GetContinueOnErrors()) return valid_ = false;
+ if (!CurrentSchema().EndArray(CurrentContext(), elementCount) && !GetContinueOnErrors()) {
+ valid_ = false;
+ return valid_;
+ }
RAPIDJSON_SCHEMA_HANDLE_END_(EndArray, (elementCount));
}
-#undef RAPIDJSON_SCHEMA_HANDLE_BEGIN_VERBOSE_
#undef RAPIDJSON_SCHEMA_HANDLE_BEGIN_
#undef RAPIDJSON_SCHEMA_HANDLE_PARALLEL_
#undef RAPIDJSON_SCHEMA_HANDLE_VALUE_
// Implementation of ISchemaStateFactory<SchemaType>
virtual ISchemaValidator* CreateSchemaValidator(const SchemaType& root, const bool inheritContinueOnErrors) {
+ *documentStack_.template Push<Ch>() = '\0';
+ documentStack_.template Pop<Ch>(1);
ISchemaValidator* sv = new (GetStateAllocator().Malloc(sizeof(GenericSchemaValidator))) GenericSchemaValidator(*schemaDocument_, root, documentStack_.template Bottom<char>(), documentStack_.GetSize(),
-#if RAPIDJSON_SCHEMA_VERBOSE
depth_ + 1,
-#endif
&GetStateAllocator());
sv->SetValidateFlags(inheritContinueOnErrors ? GetValidateFlags() : GetValidateFlags() & ~(unsigned)kValidateContinueOnErrorFlag);
return sv;
@@ -2462,6 +2933,7 @@ RAPIDJSON_MULTILINEMACRO_END
virtual void FreeState(void* p) {
StateAllocator::Free(p);
}
+ // End of implementation of ISchemaStateFactory<SchemaType>
private:
typedef typename SchemaType::Context Context;
@@ -2472,9 +2944,7 @@ private:
const SchemaDocumentType& schemaDocument,
const SchemaType& root,
const char* basePath, size_t basePathSize,
-#if RAPIDJSON_SCHEMA_VERBOSE
unsigned depth,
-#endif
StateAllocator* allocator = 0,
size_t schemaStackCapacity = kDefaultSchemaStackCapacity,
size_t documentStackCapacity = kDefaultDocumentStackCapacity)
@@ -2490,11 +2960,10 @@ private:
currentError_(),
missingDependents_(),
valid_(true),
- flags_(kValidateDefaultFlags)
-#if RAPIDJSON_SCHEMA_VERBOSE
- , depth_(depth)
-#endif
+ flags_(kValidateDefaultFlags),
+ depth_(depth)
{
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::GenericSchemaValidator (internal)", basePath && basePathSize ? basePath : "");
if (basePath && basePathSize)
memcpy(documentStack_.template Push<char>(basePathSize), basePath, basePathSize);
}
@@ -2510,6 +2979,7 @@ private:
}
bool BeginValue() {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::BeginValue");
if (schemaStack_.Empty())
PushSchema(root_);
else {
@@ -2531,6 +3001,7 @@ private:
ISchemaValidator**& va = CurrentContext().patternPropertiesValidators;
SizeType& validatorCount = CurrentContext().patternPropertiesValidatorCount;
va = static_cast<ISchemaValidator**>(MallocState(sizeof(ISchemaValidator*) * count));
+ std::memset(va, 0, sizeof(ISchemaValidator*) * count);
for (SizeType i = 0; i < count; i++)
va[validatorCount++] = CreateSchemaValidator(*sa[i], true); // Inherit continueOnError
}
@@ -2541,17 +3012,15 @@ private:
}
bool EndValue() {
+ RAPIDJSON_SCHEMA_PRINT(Method, "GenericSchemaValidator::EndValue");
if (!CurrentSchema().EndValue(CurrentContext()) && !GetContinueOnErrors())
return false;
-#if RAPIDJSON_SCHEMA_VERBOSE
GenericStringBuffer<EncodingType> sb;
- schemaDocument_->GetPointer(&CurrentSchema()).Stringify(sb);
-
+ schemaDocument_->GetPointer(&CurrentSchema()).StringifyUriFragment(sb);
*documentStack_.template Push<Ch>() = '\0';
documentStack_.template Pop<Ch>(1);
- internal::PrintValidatorPointers(depth_, sb.GetString(), documentStack_.template Bottom<Ch>());
-#endif
+ RAPIDJSON_SCHEMA_PRINT(ValidatorPointers, sb.GetString(), documentStack_.template Bottom<Ch>(), depth_);
void* hasher = CurrentContext().hasher;
uint64_t h = hasher && CurrentContext().arrayUniqueness ? static_cast<HasherType*>(hasher)->GetHashCode() : 0;
@@ -2602,7 +3071,7 @@ private:
}
}
- RAPIDJSON_FORCEINLINE void PushSchema(const SchemaType& schema) { new (schemaStack_.template Push<Context>()) Context(*this, *this, &schema); }
+ RAPIDJSON_FORCEINLINE void PushSchema(const SchemaType& schema) { new (schemaStack_.template Push<Context>()) Context(*this, *this, &schema, flags_); }
RAPIDJSON_FORCEINLINE void PopSchema() {
Context* c = schemaStack_.template Pop<Context>(1);
@@ -2704,9 +3173,7 @@ private:
ValueType missingDependents_;
bool valid_;
unsigned flags_;
-#if RAPIDJSON_SCHEMA_VERBOSE
unsigned depth_;
-#endif
};
typedef GenericSchemaValidator<SchemaDocument> SchemaValidator;
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
index dad3359459..49e3d5e549 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/cursorstreamwrappertest.cpp
@@ -20,7 +20,7 @@ using namespace rapidjson;
// static const char json[] = "{\"string\"\n\n:\"my string\",\"array\"\n:[\"1\", \"2\", \"3\"]}";
-bool testJson(const char *json, size_t &line, size_t &col) {
+static bool testJson(const char *json, size_t &line, size_t &col) {
StringStream ss(json);
CursorStreamWrapper<StringStream> csw(ss);
Document document;
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
index 52e5040bb0..72a3441107 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/encodedstreamtest.cpp
@@ -113,8 +113,8 @@ protected:
EXPECT_EQ(expected, actual);
}
EXPECT_EQ('\0', s.Peek());
- free(data);
EXPECT_EQ(size, eis.Tell());
+ free(data);
}
}
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
index ec809e2edc..707d3647d0 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/ostreamwrappertest.cpp
@@ -77,7 +77,7 @@ static void TestFileStream() {
}
fp = fopen(filename, "r");
- ASSERT_TRUE( fp != NULL );
+ ASSERT_TRUE( fp != NULL );
for (const char* p = s; *p; p++)
EXPECT_EQ(*p, static_cast<char>(fgetc(fp)));
fclose(fp);
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
index 4173f15e7e..471ed7effc 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/pointertest.cpp
@@ -303,7 +303,7 @@ TEST(Pointer, Parse_URIFragment) {
}
{
- // Decode UTF-8 perecent encoding to UTF-8
+ // Decode UTF-8 percent encoding to UTF-8
Pointer p("#/%C2%A2");
EXPECT_TRUE(p.IsValid());
EXPECT_EQ(1u, p.GetTokenCount());
@@ -311,7 +311,7 @@ TEST(Pointer, Parse_URIFragment) {
}
{
- // Decode UTF-8 perecent encoding to UTF-16
+ // Decode UTF-8 percent encoding to UTF-16
GenericPointer<GenericValue<UTF16<> > > p(L"#/%C2%A2");
EXPECT_TRUE(p.IsValid());
EXPECT_EQ(1u, p.GetTokenCount());
@@ -320,7 +320,7 @@ TEST(Pointer, Parse_URIFragment) {
}
{
- // Decode UTF-8 perecent encoding to UTF-16
+ // Decode UTF-8 percent encoding to UTF-16
GenericPointer<GenericValue<UTF16<> > > p(L"#/%E2%82%AC");
EXPECT_TRUE(p.IsValid());
EXPECT_EQ(1u, p.GetTokenCount());
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
index 92c1b72384..3f511b3e17 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/schematest.cpp
@@ -112,6 +112,13 @@ TEST(SchemaValidator, Hasher) {
#define VALIDATE(schema, json, expected) \
{\
+ VALIDATE_(schema, json, expected, true) \
+}
+
+#define VALIDATE_(schema, json, expected, expected2) \
+{\
+ EXPECT_TRUE(expected2 == schema.GetError().ObjectEmpty());\
+ EXPECT_TRUE(schema.IsSupportedSpecification());\
SchemaValidator validator(schema);\
Document d;\
/*printf("\n%s\n", json);*/\
@@ -149,6 +156,8 @@ TEST(SchemaValidator, Hasher) {
#define INVALIDATE_(schema, json, invalidSchemaPointer, invalidSchemaKeyword, invalidDocumentPointer, error, \
flags, SchemaValidatorType, PointerType) \
{\
+ EXPECT_TRUE(schema.GetError().ObjectEmpty());\
+ EXPECT_TRUE(schema.IsSupportedSpecification());\
SchemaValidatorType validator(schema);\
validator.SetValidateFlags(flags);\
Document d;\
@@ -188,6 +197,20 @@ TEST(SchemaValidator, Hasher) {
}\
}
+// Use for checking whether a compiled schema document contains errors
+#define SCHEMAERROR(schema, error) \
+{\
+ Document e;\
+ e.Parse(error);\
+ if (schema.GetError() != e) {\
+ StringBuffer sb;\
+ Writer<StringBuffer> w(sb);\
+ schema.GetError().Accept(w);\
+ printf("GetError() Expected: %s Actual: %s\n", error, sb.GetString());\
+ ADD_FAILURE();\
+ }\
+}
+
TEST(SchemaValidator, Typeless) {
Document sd;
sd.Parse("{}");
@@ -223,7 +246,7 @@ TEST(SchemaValidator, Enum_Typed) {
"{ \"enum\": { \"errorCode\": 19, \"instanceRef\": \"#\", \"schemaRef\": \"#\" }}");
}
-TEST(SchemaValidator, Enum_Typless) {
+TEST(SchemaValidator, Enum_Typeless) {
Document sd;
sd.Parse("{ \"enum\": [\"red\", \"amber\", \"green\", null, 42] }");
SchemaDocument s(sd);
@@ -333,7 +356,7 @@ TEST(SchemaValidator, OneOf) {
" ]"
"}}");
INVALIDATE(s, "15", "", "oneOf", "",
- "{ \"oneOf\": { \"errorCode\": 22, \"instanceRef\": \"#\", \"schemaRef\": \"#\", \"errors\": [{}, {}]}}");
+ "{ \"oneOf\": { \"errorCode\": 22, \"instanceRef\": \"#\", \"schemaRef\": \"#\", \"matches\": [0,1]}}");
}
TEST(SchemaValidator, Not) {
@@ -502,12 +525,13 @@ TEST(SchemaValidator, String_Pattern) {
TEST(SchemaValidator, String_Pattern_Invalid) {
Document sd;
- sd.Parse("{\"type\":\"string\",\"pattern\":\"a{0}\"}"); // TODO: report regex is invalid somehow
+ sd.Parse("{\"type\":\"string\",\"pattern\":\"a{0}\"}");
SchemaDocument s(sd);
+ SCHEMAERROR(s, "{\"RegexInvalid\":{\"errorCode\":9,\"instanceRef\":\"#/pattern\",\"value\":\"a{0}\"}}");
- VALIDATE(s, "\"\"", true);
- VALIDATE(s, "\"a\"", true);
- VALIDATE(s, "\"aa\"", true);
+ VALIDATE_(s, "\"\"", true, false);
+ VALIDATE_(s, "\"a\"", true, false);
+ VALIDATE_(s, "\"aa\"", true, false);
}
#endif
@@ -1886,12 +1910,6 @@ TEST(SchemaValidator, SchemaPointer) {
" },"
" \"f\": {"
" \"type\": \"boolean\""
- " },"
- " \"cyclic_source\": {"
- " \"$ref\": \"#/definitions/Resp_200/properties/cyclic_target\""
- " },"
- " \"cyclic_target\": {"
- " \"$ref\": \"#/definitions/Resp_200/properties/cyclic_source\""
" }"
" },"
" \"type\": \"object\""
@@ -2135,9 +2153,13 @@ public:
}
virtual const SchemaDocumentType* GetRemoteDocument(const char* uri, SizeType length) {
+ //printf("GetRemoteDocument : %s\n", uri);
for (size_t i = 0; i < kCount; i++)
- if (typename SchemaDocumentType::SValue(uri, length) == sd_[i]->GetURI())
+ if (typename SchemaDocumentType::GValue(uri, length) == sd_[i]->GetURI()) {
+ //printf("Matched document");
return sd_[i];
+ }
+ //printf("No matched document");
return 0;
}
@@ -2390,7 +2412,9 @@ TEST(SchemaValidator, Issue728_AllOfRef) {
Document sd;
sd.Parse("{\"allOf\": [{\"$ref\": \"#/abc\"}]}");
SchemaDocument s(sd);
- VALIDATE(s, "{\"key1\": \"abc\", \"key2\": \"def\"}", true);
+ SCHEMAERROR(s, "{\"RefUnknown\":{\"errorCode\":5,\"instanceRef\":\"#/allOf/0\",\"value\":\"#/abc\"}}");
+
+ VALIDATE_(s, "{\"key1\": \"abc\", \"key2\": \"def\"}", true, false);
}
TEST(SchemaValidator, Issue1017_allOfHandler) {
@@ -2625,7 +2649,7 @@ TEST(SchemaValidator, Ref_remote_issue1210) {
SchemaDocumentProvider(SchemaDocument** collection) : collection(collection) { }
virtual const SchemaDocument* GetRemoteDocument(const char* uri, SizeType length) {
int i = 0;
- while (collection[i] && SchemaDocument::SValue(uri, length) != collection[i]->GetURI()) ++i;
+ while (collection[i] && SchemaDocument::GValue(uri, length) != collection[i]->GetURI()) ++i;
return collection[i];
}
};
@@ -2656,7 +2680,7 @@ TEST(SchemaValidator, ContinueOnErrors) {
ASSERT_FALSE(sd.HasParseError());
SchemaDocument s(sd);
VALIDATE(s, "{\"version\": 1.0, \"address\": {\"number\": 24, \"street1\": \"The Woodlands\", \"street3\": \"Ham\", \"city\": \"Romsey\", \"area\": \"Kent\", \"country\": \"UK\", \"postcode\": \"SO51 0GP\"}, \"phones\": [\"0111-222333\", \"0777-666888\"], \"names\": [\"Fred\", \"Bloggs\"]}", true);
- INVALIDATE_(s, "{\"version\": 1.01, \"address\": {\"number\": 0, \"street2\": false, \"street3\": \"Ham\", \"city\": \"RomseyTownFC\", \"area\": \"BC\", \"country\": \"USA\", \"postcode\": \"999ABC\"}, \"phones\": [], \"planet\": \"Earth\", \"extra\": {\"S_xxx\": 123}}", "#", "errors", "#",
+ INVALIDATE_(s, "{\"version\": 1.01, \"address\": {\"number\": 0, \"street2\": false, \"street3\": \"Ham\", \"city\": \"RomseyTownFC\", \"area\": \"Narnia\", \"country\": \"USA\", \"postcode\": \"999ABC\"}, \"phones\": [], \"planet\": \"Earth\", \"extra\": {\"S_xxx\": 123}}", "#", "errors", "#",
"{ \"multipleOf\": {"
" \"errorCode\": 1, \"instanceRef\": \"#/version\", \"schemaRef\": \"#/definitions/decimal_type\", \"expected\": 1.0, \"actual\": 1.01"
" },"
@@ -2691,6 +2715,9 @@ TEST(SchemaValidator, ContinueOnErrors) {
" },"
" \"required\": {"
" \"missing\": [\"street1\"], \"errorCode\": 15, \"instanceRef\": \"#/address\", \"schemaRef\": \"#/definitions/address_type\""
+ " },"
+ " \"oneOf\": {"
+ " \"matches\": [0, 1], \"errorCode\": 22, \"instanceRef\": \"#/address/area\", \"schemaRef\": \"#/definitions/address_type/properties/area\""
" }"
"}",
kValidateDefaultFlags | kValidateContinueOnErrorFlag, SchemaValidator, Pointer);
@@ -2917,7 +2944,7 @@ TEST(SchemaValidator, ContinueOnErrors_RogueString) {
// Test that when kValidateContinueOnErrorFlag is set, an incorrect simple type with a sub-schema is handled correctly.
// This tests that we don't blow up when there is a type mismatch but there is a sub-schema present
-TEST(SchemaValidator, ContinueOnErrors_Issue2) {
+TEST(SchemaValidator, ContinueOnErrors_BadSimpleType) {
Document sd;
sd.Parse("{\"type\":\"string\", \"anyOf\":[{\"maxLength\":2}]}");
ASSERT_FALSE(sd.HasParseError());
@@ -2943,10 +2970,606 @@ TEST(SchemaValidator, ContinueOnErrors_Issue2) {
kValidateDefaultFlags | kValidateContinueOnErrorFlag, SchemaValidator, Pointer);
}
-TEST(SchemaValidator, Schema_UnknownError) {
+
+TEST(SchemaValidator, UnknownValidationError) {
ASSERT_TRUE(SchemaValidator::SchemaType::GetValidateErrorKeyword(kValidateErrors).GetString() == std::string("null"));
}
+// The first occurrence of a duplicate keyword is taken
+TEST(SchemaValidator, DuplicateKeyword) {
+ Document sd;
+ sd.Parse("{ \"title\": \"test\",\"type\": \"number\", \"type\": \"string\" }");
+ EXPECT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ VALIDATE(s, "42", true);
+ INVALIDATE(s, "\"Life, the universe, and everything\"", "", "type", "",
+ "{ \"type\": {"
+ " \"errorCode\": 20,"
+ " \"instanceRef\": \"#\", \"schemaRef\": \"#\","
+ " \"expected\": [\"number\"], \"actual\": \"string\""
+ "}}");
+}
+
+
+// SchemaDocument tests
+
+// Specification (schema draft, open api version)
+TEST(SchemaValidator, Schema_SupportedNotObject) {
+ Document sd;
+ sd.Parse("true");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_SupportedNoSpec) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_SupportedNoSpecStatic) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ Specification spec = SchemaDocumentType::GetSpecification(sd);
+ ASSERT_FALSE(spec.IsSupported());
+ ASSERT_TRUE(spec.draft == kDraftNone);
+ ASSERT_TRUE(spec.oapi == kVersionNone);
+}
+
+TEST(SchemaValidator, Schema_SupportedDraft5Static) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-05/schema#\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ Specification spec = SchemaDocumentType::GetSpecification(sd);
+ ASSERT_TRUE(spec.IsSupported());
+ ASSERT_TRUE(spec.draft == kDraft05);
+ ASSERT_TRUE(spec.oapi == kVersionNone);
+}
+
+TEST(SchemaValidator, Schema_SupportedDraft4) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-04/schema#\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_SupportedDraft4NoFrag) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-04/schema\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_SupportedDraft5) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-05/schema#\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft05);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_SupportedDraft5NoFrag) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-05/schema\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft05);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_IgnoreDraftEmbedded) {
+ Document sd;
+ sd.Parse("{\"root\": {\"$schema\":\"http://json-schema.org/draft-05/schema#\", \"type\": \"integer\"}}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd, 0, 0, 0, 0, SchemaDocument::PointerType("/root"));
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_SupportedDraftOverride) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, Specification(kDraft04));
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_UnknownDraftOverride) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, Specification(kDraftUnknown));
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraftUnknown);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ SCHEMAERROR(s, "{\"SpecUnknown\":{\"errorCode\":10,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnsupportedDraftOverride) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, Specification(kDraft03));
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft03);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ SCHEMAERROR(s, "{\"SpecUnsupported\":{\"errorCode\":11,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnknownDraft) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-xxx/schema#\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraftUnknown);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ SCHEMAERROR(s, "{\"SpecUnknown\":{\"errorCode\":10,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnknownDraftNotString) {
+ Document sd;
+ sd.Parse("{\"$schema\": 4, \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraftUnknown);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ SCHEMAERROR(s, "{\"SpecUnknown\":{\"errorCode\":10,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnsupportedDraft3) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-03/schema#\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft03);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ SCHEMAERROR(s, "{\"SpecUnsupported\":{\"errorCode\":11,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnsupportedDraft6) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-06/schema#\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft06);
+ SCHEMAERROR(s, "{\"SpecUnsupported\":{\"errorCode\":11,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnsupportedDraft7) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"http://json-schema.org/draft-07/schema#\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft07);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ SCHEMAERROR(s, "{\"SpecUnsupported\":{\"errorCode\":11,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnsupportedDraft2019_09) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"https://json-schema.org/draft/2019-09/schema\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft2019_09);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ SCHEMAERROR(s, "{\"SpecUnsupported\":{\"errorCode\":11,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnsupportedDraft2020_12) {
+ Document sd;
+ sd.Parse("{\"$schema\":\"https://json-schema.org/draft/2020-12/schema\", \"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft2020_12);
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionNone);
+ SCHEMAERROR(s, "{\"SpecUnsupported\":{\"errorCode\":11,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_SupportedVersion20Static) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"swagger\":\"2.0\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ Specification spec = SchemaDocumentType::GetSpecification(sd);
+ ASSERT_TRUE(spec.IsSupported());
+ ASSERT_TRUE(spec.draft == kDraft04);
+ ASSERT_TRUE(spec.oapi == kVersion20);
+}
+
+TEST(SchemaValidator, Schema_SupportedVersion20) {
+ Document sd;
+ sd.Parse("{\"swagger\":\"2.0\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersion20);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_SupportedVersion30x) {
+ Document sd;
+ sd.Parse("{\"openapi\":\"3.0.0\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersion30);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft05);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_SupportedVersionOverride) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, Specification(kVersion20));
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersion20);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ EXPECT_TRUE(s.GetError().ObjectEmpty());
+}
+
+TEST(SchemaValidator, Schema_UnknownVersionOverride) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, Specification(kVersionUnknown));
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionUnknown);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ SCHEMAERROR(s, "{\"SpecUnknown\":{\"errorCode\":10,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnsupportedVersionOverride) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, Specification(kVersion31));
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersion31);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft2020_12);
+ SCHEMAERROR(s, "{\"SpecUnsupported\":{\"errorCode\":11,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnknownVersion) {
+ Document sd;
+ sd.Parse("{\"openapi\":\"1.0\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionUnknown);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ SCHEMAERROR(s, "{\"SpecUnknown\":{\"errorCode\":10,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnknownVersionShort) {
+ Document sd;
+ sd.Parse("{\"openapi\":\"3.0.\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionUnknown);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ SCHEMAERROR(s, "{\"SpecUnknown\":{\"errorCode\":10,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnknownVersionNotString) {
+ Document sd;
+ sd.Parse("{\"swagger\": 2}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersionUnknown);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft04);
+ SCHEMAERROR(s, "{\"SpecUnknown\":{\"errorCode\":10,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_UnsupportedVersion31) {
+ Document sd;
+ sd.Parse("{\"openapi\":\"3.1.0\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_FALSE(s.IsSupportedSpecification());
+ ASSERT_TRUE(s.GetSpecification().oapi == kVersion31);
+ ASSERT_TRUE(s.GetSpecification().draft == kDraft2020_12);
+ SCHEMAERROR(s, "{\"SpecUnsupported\":{\"errorCode\":11,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_DraftAndVersion) {
+ Document sd;
+ sd.Parse("{\"swagger\": \"2.0\", \"$schema\": \"http://json-schema.org/draft-04/schema#\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ ASSERT_TRUE(s.IsSupportedSpecification());
+ SCHEMAERROR(s, "{\"SpecIllegal\":{\"errorCode\":12,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, Schema_StartUnknown) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd, 0, 0, 0, 0, SchemaDocument::PointerType("/nowhere"));
+ SCHEMAERROR(s, "{\"StartUnknown\":{\"errorCode\":1,\"instanceRef\":\"#\", \"value\":\"#/nowhere\"}}");
+}
+
+TEST(SchemaValidator, Schema_MultipleErrors) {
+ Document sd;
+ sd.Parse("{\"swagger\": \"foo\", \"$schema\": \"bar\"}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s(sd);
+ SCHEMAERROR(s, "{ \"SpecUnknown\": {\"errorCode\":10,\"instanceRef\":\"#\"},"
+ " \"SpecIllegal\": {\"errorCode\":12,\"instanceRef\":\"#\"}"
+ "}");
+}
+
+// $ref is a non-JSON pointer fragment - not allowed when OpenAPI
+TEST(SchemaValidator, Schema_RefPlainNameOpenApi) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"swagger\": \"2.0\", \"type\": \"object\", \"properties\": {\"myInt1\": {\"$ref\": \"#myId\"}, \"myStr\": {\"type\": \"string\", \"id\": \"#myStrId\"}, \"myInt2\": {\"type\": \"integer\", \"id\": \"#myId\"}}}");
+ SchemaDocumentType s(sd);
+ SCHEMAERROR(s, "{\"RefPlainName\":{\"errorCode\":2,\"instanceRef\":\"#/properties/myInt1\",\"value\":\"#myId\"}}");
+}
+
+// $ref is a non-JSON pointer fragment - not allowed when remote document
+TEST(SchemaValidator, Schema_RefPlainNameRemote) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ RemoteSchemaDocumentProvider<SchemaDocumentType> provider;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt\": {\"$ref\": \"/subSchemas.json#plainname\"}}}");
+ SchemaDocumentType s(sd, "http://localhost:1234/xxxx", 26, &provider);
+ SCHEMAERROR(s, "{\"RefPlainName\":{\"errorCode\":2,\"instanceRef\":\"#/properties/myInt\",\"value\":\"#plainname\"}}");
+}
+
+// $ref is an empty string
+TEST(SchemaValidator, Schema_RefEmptyString) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt1\": {\"$ref\": \"\"}}}");
+ SchemaDocumentType s(sd);
+ SCHEMAERROR(s, "{\"RefInvalid\":{\"errorCode\":3,\"instanceRef\":\"#/properties/myInt1\"}}");
+}
+
+// $ref is remote but no provider
+TEST(SchemaValidator, Schema_RefNoRemoteProvider) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt\": {\"$ref\": \"/subSchemas.json#plainname\"}}}");
+ SchemaDocumentType s(sd, "http://localhost:1234/xxxx", 26, 0);
+ SCHEMAERROR(s, "{\"RefNoRemoteProvider\":{\"errorCode\":7,\"instanceRef\":\"#/properties/myInt\"}}");
+}
+
+// $ref is remote but no schema returned
+TEST(SchemaValidator, Schema_RefNoRemoteSchema) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ RemoteSchemaDocumentProvider<SchemaDocumentType> provider;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt\": {\"$ref\": \"/will-not-resolve.json\"}}}");
+ SchemaDocumentType s(sd, "http://localhost:1234/xxxx", 26, &provider);
+ SCHEMAERROR(s, "{\"RefNoRemoteSchema\":{\"errorCode\":8,\"instanceRef\":\"#/properties/myInt\",\"value\":\"http://localhost:1234/will-not-resolve.json\"}}");
+}
+
+// $ref pointer is invalid
+TEST(SchemaValidator, Schema_RefPointerInvalid) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt\": {\"$ref\": \"#/&&&&&\"}}}");
+ SchemaDocumentType s(sd);
+ SCHEMAERROR(s, "{\"RefPointerInvalid\":{\"errorCode\":4,\"instanceRef\":\"#/properties/myInt\",\"value\":\"#/&&&&&\",\"offset\":2}}");
+}
+
+// $ref is remote and pointer is invalid
+TEST(SchemaValidator, Schema_RefPointerInvalidRemote) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ RemoteSchemaDocumentProvider<SchemaDocumentType> provider;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt\": {\"$ref\": \"/subSchemas.json#/abc&&&&&\"}}}");
+ SchemaDocumentType s(sd, "http://localhost:1234/xxxx", 26, &provider);
+ SCHEMAERROR(s, "{\"RefPointerInvalid\":{\"errorCode\":4,\"instanceRef\":\"#/properties/myInt\",\"value\":\"#/abc&&&&&\",\"offset\":5}}");
+}
+
+// $ref is unknown non-pointer
+TEST(SchemaValidator, Schema_RefUnknownPlainName) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt\": {\"$ref\": \"#plainname\"}}}");
+ SchemaDocumentType s(sd);
+ SCHEMAERROR(s, "{\"RefUnknown\":{\"errorCode\":5,\"instanceRef\":\"#/properties/myInt\",\"value\":\"#plainname\"}}");
+}
+
+/// $ref is unknown pointer
+TEST(SchemaValidator, Schema_RefUnknownPointer) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt\": {\"$ref\": \"#/a/b\"}}}");
+ SchemaDocumentType s(sd);
+ SCHEMAERROR(s, "{\"RefUnknown\":{\"errorCode\":5,\"instanceRef\":\"#/properties/myInt\",\"value\":\"#/a/b\"}}");
+}
+
+// $ref is remote and unknown pointer
+TEST(SchemaValidator, Schema_RefUnknownPointerRemote) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ RemoteSchemaDocumentProvider<SchemaDocumentType> provider;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {\"myInt\": {\"$ref\": \"/subSchemas.json#/a/b\"}}}");
+ SchemaDocumentType s(sd, "http://localhost:1234/xxxx", 26, &provider);
+ SCHEMAERROR(s, "{\"RefUnknown\":{\"errorCode\":5,\"instanceRef\":\"#/properties/myInt\",\"value\":\"http://localhost:1234/subSchemas.json#/a/b\"}}");
+}
+
+// $ref is cyclical
+TEST(SchemaValidator, Schema_RefCyclical) {
+ typedef GenericSchemaDocument<Value, MemoryPoolAllocator<> > SchemaDocumentType;
+ Document sd;
+ sd.Parse("{\"type\": \"object\", \"properties\": {"
+ " \"cyclic_source\": {"
+ " \"$ref\": \"#/properties/cyclic_target\""
+ " },"
+ " \"cyclic_target\": {"
+ " \"$ref\": \"#/properties/cyclic_source\""
+ " }"
+ "}}");
+ SchemaDocumentType s(sd);
+ SCHEMAERROR(s, "{\"RefCyclical\":{\"errorCode\":6,\"instanceRef\":\"#/properties/cyclic_target\",\"value\":\"#/properties/cyclic_source\"}}");
+}
+
+TEST(SchemaValidator, Schema_ReadOnlyAndWriteOnly) {
+ Document sd;
+ sd.Parse("{\"type\": \"integer\", \"readOnly\": true, \"writeOnly\": true}");
+ ASSERT_FALSE(sd.HasParseError());
+ SchemaDocument s1(sd, 0, 0, 0, 0, 0, Specification(kDraft04));
+ EXPECT_TRUE(s1.GetError().ObjectEmpty());
+ SchemaDocument s2(sd, 0, 0, 0, 0, 0, Specification(kVersion30));
+ SCHEMAERROR(s2, "{\"ReadOnlyAndWriteOnly\":{\"errorCode\":13,\"instanceRef\":\"#\"}}");
+}
+
+TEST(SchemaValidator, ReadOnlyWhenWriting) {
+ Document sd;
+ sd.Parse(
+ "{"
+ " \"type\":\"object\","
+ " \"properties\": {"
+ " \"rprop\" : {"
+ " \"type\": \"string\","
+ " \"readOnly\": true"
+ " }"
+ " }"
+ "}");
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, Specification(kVersion20));
+ VALIDATE(s, "{ \"rprop\": \"hello\" }", true);
+ INVALIDATE_(s, "{ \"rprop\": \"hello\" }", "/properties/rprop", "readOnly", "/rprop",
+ "{ \"readOnly\": {"
+ " \"errorCode\": 26, \"instanceRef\": \"#/rprop\", \"schemaRef\": \"#/properties/rprop\""
+ " }"
+ "}",
+ kValidateDefaultFlags | kValidateWriteFlag, SchemaValidator, Pointer);
+}
+
+TEST(SchemaValidator, WriteOnlyWhenReading) {
+ Document sd;
+ sd.Parse(
+ "{"
+ " \"type\":\"object\","
+ " \"properties\": {"
+ " \"wprop\" : {"
+ " \"type\": \"boolean\","
+ " \"writeOnly\": true"
+ " }"
+ " }"
+ "}");
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, Specification(kVersion30));
+ VALIDATE(s, "{ \"wprop\": true }", true);
+ INVALIDATE_(s, "{ \"wprop\": true }", "/properties/wprop", "writeOnly", "/wprop",
+ "{ \"writeOnly\": {"
+ " \"errorCode\": 27, \"instanceRef\": \"#/wprop\", \"schemaRef\": \"#/properties/wprop\""
+ " }"
+ "}",
+ kValidateDefaultFlags | kValidateReadFlag, SchemaValidator, Pointer);
+}
+
+TEST(SchemaValidator, NullableTrue) {
+ Document sd;
+ sd.Parse("{\"type\": \"string\", \"nullable\": true}");
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, kVersion20);
+
+ VALIDATE(s, "\"hello\"", true);
+ INVALIDATE(s, "null", "", "type", "",
+ "{ \"type\": {"
+ " \"errorCode\": 20,"
+ " \"instanceRef\": \"#\", \"schemaRef\": \"#\","
+ " \"expected\": [\"string\"], \"actual\": \"null\""
+ "}}");
+ INVALIDATE(s, "false", "", "type", "",
+ "{ \"type\": {"
+ " \"errorCode\": 20,"
+ " \"instanceRef\": \"#\", \"schemaRef\": \"#\","
+ " \"expected\": [\"string\"], \"actual\": \"boolean\""
+ "}}");
+
+ SchemaDocument s30(sd, 0, 0, 0, 0, 0, kVersion30);
+
+ VALIDATE(s30, "\"hello\"", true);
+ VALIDATE(s30, "null", true);
+ INVALIDATE(s30, "false", "", "type", "",
+ "{ \"type\": {"
+ " \"errorCode\": 20,"
+ " \"instanceRef\": \"#\", \"schemaRef\": \"#\","
+ " \"expected\": [\"null\", \"string\"], \"actual\": \"boolean\""
+ "}}");
+}
+
+TEST(SchemaValidator, NullableFalse) {
+ Document sd;
+ sd.Parse("{\"type\": \"string\", \"nullable\": false}");
+ SchemaDocument s(sd, 0, 0, 0, 0, 0, kVersion20);
+
+ VALIDATE(s, "\"hello\"", true);
+ INVALIDATE(s, "null", "", "type", "",
+ "{ \"type\": {"
+ " \"errorCode\": 20,"
+ " \"instanceRef\": \"#\", \"schemaRef\": \"#\","
+ " \"expected\": [\"string\"], \"actual\": \"null\""
+ "}}");
+ INVALIDATE(s, "false", "", "type", "",
+ "{ \"type\": {"
+ " \"errorCode\": 20,"
+ " \"instanceRef\": \"#\", \"schemaRef\": \"#\","
+ " \"expected\": [\"string\"], \"actual\": \"boolean\""
+ "}}");
+
+ SchemaDocument s30(sd, 0, 0, 0, 0, 0, kVersion30);
+
+ VALIDATE(s30, "\"hello\"", true);
+ INVALIDATE(s, "null", "", "type", "",
+ "{ \"type\": {"
+ " \"errorCode\": 20,"
+ " \"instanceRef\": \"#\", \"schemaRef\": \"#\","
+ " \"expected\": [\"string\"], \"actual\": \"null\""
+ "}}");
+ INVALIDATE(s30, "false", "", "type", "",
+ "{ \"type\": {"
+ " \"errorCode\": 20,"
+ " \"instanceRef\": \"#\", \"schemaRef\": \"#\","
+ " \"expected\": [\"string\"], \"actual\": \"boolean\""
+ "}}");
+}
+
#if defined(_MSC_VER) || defined(__clang__)
RAPIDJSON_DIAG_POP
#endif
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
index 924fd5c1b3..1e1b937cf3 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/simdtest.cpp
@@ -49,10 +49,12 @@ using namespace rapidjson_simd;
#define SIMD_SUFFIX(name) name
#endif
+#define SIMD_SIZE_ALIGN(n) ((size_t(n) + 15) & ~size_t(15))
+
template <typename StreamType>
void TestSkipWhitespace() {
for (size_t step = 1; step < 32; step++) {
- char buffer[1025];
+ char buffer[SIMD_SIZE_ALIGN(1025)];
for (size_t i = 0; i < 1024; i++)
buffer[i] = " \t\r\n"[i % 4];
for (size_t i = 0; i < 1024; i += step)
@@ -79,7 +81,7 @@ TEST(SIMD, SIMD_SUFFIX(SkipWhitespace)) {
TEST(SIMD, SIMD_SUFFIX(SkipWhitespace_EncodedMemoryStream)) {
for (size_t step = 1; step < 32; step++) {
- char buffer[1024];
+ char buffer[SIMD_SIZE_ALIGN(1024)];
for (size_t i = 0; i < 1024; i++)
buffer[i] = " \t\r\n"[i % 4];
for (size_t i = 0; i < 1024; i += step)
@@ -87,14 +89,12 @@ TEST(SIMD, SIMD_SUFFIX(SkipWhitespace_EncodedMemoryStream)) {
MemoryStream ms(buffer, 1024);
EncodedInputStream<UTF8<>, MemoryStream> s(ms);
- size_t i = 0;
for (;;) {
SkipWhitespace(s);
if (s.Peek() == '\0')
break;
//EXPECT_EQ(i, s.Tell());
EXPECT_EQ('X', s.Take());
- i += step;
}
}
}
@@ -109,8 +109,8 @@ struct ScanCopyUnescapedStringHandler : BaseReaderHandler<UTF8<>, ScanCopyUnesca
template <unsigned parseFlags, typename StreamType>
void TestScanCopyUnescapedString() {
- char buffer[1024u + 5 + 32];
- char backup[1024u + 5 + 32];
+ char buffer[SIMD_SIZE_ALIGN(1024u + 5 + 32)];
+ char backup[SIMD_SIZE_ALIGN(1024u + 5 + 32)];
// Test "ABCDABCD...\\"
for (size_t offset = 0; offset < 32; offset++) {
@@ -167,7 +167,7 @@ TEST(SIMD, SIMD_SUFFIX(ScanCopyUnescapedString)) {
}
TEST(SIMD, SIMD_SUFFIX(ScanWriteUnescapedString)) {
- char buffer[2048 + 1 + 32];
+ char buffer[SIMD_SIZE_ALIGN(2048 + 1 + 32)];
for (size_t offset = 0; offset < 32; offset++) {
for (size_t step = 0; step < 1024; step++) {
char* s = buffer + offset;
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
index 5506aa1e8c..789c9dd828 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/uritest.cpp
@@ -48,7 +48,6 @@ TEST(Uri, DefaultConstructor) {
EXPECT_TRUE(u.GetStringLength() == 0);
}
-
TEST(Uri, Parse) {
typedef GenericUri<Value, MemoryPoolAllocator<> > UriType;
MemoryPoolAllocator<CrtAllocator> allocator;
@@ -66,21 +65,8 @@ TEST(Uri, Parse) {
u.Get(w, allocator);
EXPECT_TRUE(*w.GetString() == *v.GetString());
-#if RAPIDJSON_HAS_STDSTRING
- typedef std::basic_string<Value::Ch> String;
- String str = "http://auth/path/xxx?query#frag";
- const UriType uri = UriType(str);
- EXPECT_TRUE(UriType::GetScheme(uri) == "http:");
- EXPECT_TRUE(UriType::GetAuth(uri) == "//auth");
- EXPECT_TRUE(UriType::GetPath(uri) == "/path/xxx");
- EXPECT_TRUE(UriType::GetBase(uri) == "http://auth/path/xxx?query");
- EXPECT_TRUE(UriType::GetQuery(uri) == "?query");
- EXPECT_TRUE(UriType::GetFrag(uri) == "#frag");
- EXPECT_TRUE(UriType::Get(uri) == str);
-#endif
-
v.SetString("urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f", allocator);
- u = UriType(v);
+ u = UriType(v, &allocator);
EXPECT_TRUE(StrCmp(u.GetSchemeString(), "urn:") == 0);
EXPECT_TRUE(u.GetAuthStringLength() == 0);
EXPECT_TRUE(StrCmp(u.GetPathString(), "uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f") == 0);
@@ -91,7 +77,7 @@ TEST(Uri, Parse) {
EXPECT_TRUE(*w.GetString() == *v.GetString());
v.SetString("", allocator);
- u = UriType(v);
+ u = UriType(v, &allocator);
EXPECT_TRUE(u.GetSchemeStringLength() == 0);
EXPECT_TRUE(u.GetAuthStringLength() == 0);
EXPECT_TRUE(u.GetPathStringLength() == 0);
@@ -100,7 +86,7 @@ TEST(Uri, Parse) {
EXPECT_TRUE(u.GetFragStringLength() == 0);
v.SetString("http://auth/", allocator);
- u = UriType(v);
+ u = UriType(v, &allocator);
EXPECT_TRUE(StrCmp(u.GetSchemeString(), "http:") == 0);
EXPECT_TRUE(StrCmp(u.GetAuthString(), "//auth") == 0);
EXPECT_TRUE(StrCmp(u.GetPathString(), "/") == 0);
@@ -162,12 +148,11 @@ TEST(Uri, Parse) {
EXPECT_TRUE(u.GetFragStringLength() == len);
// Incomplete auth treated as path
- str = "http:/";
- const UriType u2 = UriType(str);
- EXPECT_TRUE(StrCmp(u2.GetSchemeString(), "http:") == 0);
- EXPECT_TRUE(u2.GetAuthStringLength() == 0);
- EXPECT_TRUE(StrCmp(u2.GetPathString(), "/") == 0);
- EXPECT_TRUE(StrCmp(u2.GetBaseString(), "http:/") == 0);
+ u = UriType("http:/");
+ EXPECT_TRUE(StrCmp(u.GetSchemeString(), "http:") == 0);
+ EXPECT_TRUE(u.GetAuthStringLength() == 0);
+ EXPECT_TRUE(StrCmp(u.GetPathString(), "/") == 0);
+ EXPECT_TRUE(StrCmp(u.GetBaseString(), "http:/") == 0);
}
TEST(Uri, Parse_UTF16) {
@@ -188,21 +173,8 @@ TEST(Uri, Parse_UTF16) {
u.Get(w, allocator);
EXPECT_TRUE(*w.GetString() == *v.GetString());
-#if RAPIDJSON_HAS_STDSTRING
- typedef std::basic_string<Value16::Ch> String;
- String str = L"http://auth/path/xxx?query#frag";
- const UriType uri = UriType(str);
- EXPECT_TRUE(UriType::GetScheme(uri) == L"http:");
- EXPECT_TRUE(UriType::GetAuth(uri) == L"//auth");
- EXPECT_TRUE(UriType::GetPath(uri) == L"/path/xxx");
- EXPECT_TRUE(UriType::GetBase(uri) == L"http://auth/path/xxx?query");
- EXPECT_TRUE(UriType::GetQuery(uri) == L"?query");
- EXPECT_TRUE(UriType::GetFrag(uri) == L"#frag");
- EXPECT_TRUE(UriType::Get(uri) == str);
-#endif
-
v.SetString(L"urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f", allocator);
- u = UriType(v);
+ u = UriType(v, &allocator);
EXPECT_TRUE(StrCmp(u.GetSchemeString(), L"urn:") == 0);
EXPECT_TRUE(u.GetAuthStringLength() == 0);
EXPECT_TRUE(StrCmp(u.GetPathString(), L"uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f") == 0);
@@ -213,7 +185,7 @@ TEST(Uri, Parse_UTF16) {
EXPECT_TRUE(*w.GetString() == *v.GetString());
v.SetString(L"", allocator);
- u = UriType(v);
+ u = UriType(v, &allocator);
EXPECT_TRUE(u.GetSchemeStringLength() == 0);
EXPECT_TRUE(u.GetAuthStringLength() == 0);
EXPECT_TRUE(u.GetPathStringLength() == 0);
@@ -222,7 +194,7 @@ TEST(Uri, Parse_UTF16) {
EXPECT_TRUE(u.GetFragStringLength() == 0);
v.SetString(L"http://auth/", allocator);
- u = UriType(v);
+ u = UriType(v, &allocator);
EXPECT_TRUE(StrCmp(u.GetSchemeString(), L"http:") == 0);
EXPECT_TRUE(StrCmp(u.GetAuthString(), L"//auth") == 0);
EXPECT_TRUE(StrCmp(u.GetPathString(), L"/") == 0);
@@ -291,6 +263,41 @@ TEST(Uri, Parse_UTF16) {
EXPECT_TRUE(StrCmp(u.GetBaseString(), L"http:/") == 0);
}
+#if RAPIDJSON_HAS_STDSTRING
+TEST(Uri, Parse_Std) {
+ typedef GenericUri<Value, MemoryPoolAllocator<> > UriType;
+ MemoryPoolAllocator<CrtAllocator> allocator;
+ typedef std::basic_string<Value::Ch> String;
+
+ String str = "http://auth/path/xxx?query#frag";
+ const UriType uri = UriType(str, &allocator);
+ EXPECT_TRUE(UriType::GetScheme(uri) == "http:");
+ EXPECT_TRUE(UriType::GetAuth(uri) == "//auth");
+ EXPECT_TRUE(UriType::GetPath(uri) == "/path/xxx");
+ EXPECT_TRUE(UriType::GetBase(uri) == "http://auth/path/xxx?query");
+ EXPECT_TRUE(UriType::GetQuery(uri) == "?query");
+ EXPECT_TRUE(UriType::GetFrag(uri) == "#frag");
+ EXPECT_TRUE(UriType::Get(uri) == str);
+}
+
+TEST(Uri, Parse_UTF16_Std) {
+ typedef GenericValue<UTF16<> > Value16;
+ typedef GenericUri<Value16, MemoryPoolAllocator<> > UriType;
+ MemoryPoolAllocator<CrtAllocator> allocator;
+ typedef std::basic_string<Value16::Ch> String;
+
+ String str = L"http://auth/path/xxx?query#frag";
+ const UriType uri = UriType(str, &allocator);
+ EXPECT_TRUE(UriType::GetScheme(uri) == L"http:");
+ EXPECT_TRUE(UriType::GetAuth(uri) == L"//auth");
+ EXPECT_TRUE(UriType::GetPath(uri) == L"/path/xxx");
+ EXPECT_TRUE(UriType::GetBase(uri) == L"http://auth/path/xxx?query");
+ EXPECT_TRUE(UriType::GetQuery(uri) == L"?query");
+ EXPECT_TRUE(UriType::GetFrag(uri) == L"#frag");
+ EXPECT_TRUE(UriType::Get(uri) == str);
+}
+#endif
+
TEST(Uri, CopyConstructor) {
typedef GenericUri<Value> UriType;
CrtAllocator allocator;
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
index 6ef22b7260..e0e40a2652 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/unittest/valuetest.cpp
@@ -1581,7 +1581,7 @@ TEST(Value, ObjectHelperRangeFor) {
{
int i = 0;
for (auto& m : x.GetObject()) {
- char name[10];
+ char name[11];
sprintf(name, "%d", i);
EXPECT_STREQ(name, m.name.GetString());
EXPECT_EQ(i, m.value.GetInt());
@@ -1592,7 +1592,7 @@ TEST(Value, ObjectHelperRangeFor) {
{
int i = 0;
for (const auto& m : const_cast<const Value&>(x).GetObject()) {
- char name[10];
+ char name[11];
sprintf(name, "%d", i);
EXPECT_STREQ(name, m.name.GetString());
EXPECT_EQ(i, m.value.GetInt());
@@ -1717,17 +1717,17 @@ static void TestShortStringOptimization(const char* str) {
rapidjson::Value val;
val.SetString(str, len, doc.GetAllocator());
- EXPECT_EQ(val.GetStringLength(), len);
- EXPECT_STREQ(val.GetString(), str);
+ EXPECT_EQ(val.GetStringLength(), len);
+ EXPECT_STREQ(val.GetString(), str);
}
TEST(Value, AllocateShortString) {
- TestShortStringOptimization(""); // edge case: empty string
- TestShortStringOptimization("12345678"); // regular case for short strings: 8 chars
- TestShortStringOptimization("12345678901"); // edge case: 11 chars in 32-bit mode (=> short string)
- TestShortStringOptimization("123456789012"); // edge case: 12 chars in 32-bit mode (=> regular string)
- TestShortStringOptimization("123456789012345"); // edge case: 15 chars in 64-bit mode (=> short string)
- TestShortStringOptimization("1234567890123456"); // edge case: 16 chars in 64-bit mode (=> regular string)
+ TestShortStringOptimization(""); // edge case: empty string
+ TestShortStringOptimization("12345678"); // regular case for short strings: 8 chars
+ TestShortStringOptimization("12345678901"); // edge case: 11 chars in 32-bit mode (=> short string)
+ TestShortStringOptimization("123456789012"); // edge case: 12 chars in 32-bit mode (=> regular string)
+ TestShortStringOptimization("123456789012345"); // edge case: 15 chars in 64-bit mode (=> short string)
+ TestShortStringOptimization("1234567890123456"); // edge case: 16 chars in 64-bit mode (=> regular string)
}
template <int e>
diff --git a/graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp b/graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
index 1fed18bea3..c9d3d22656 100644
--- a/graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
+++ b/graphics/asymptote/LspCpp/third_party/rapidjson/test/valgrind.supp
@@ -15,3 +15,12 @@
Memcheck:Value8
fun:__wcslen_sse2
}
+
+{
+ Suppress wmemcmp valgrind report 4
+ Memcheck:Addr32
+ fun:__wmemcmp_avx2_movbe
+ ...
+ fun:*Uri*Parse_UTF16_Std*
+}
+
diff --git a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
index 0af0e082c5..c8723fecaa 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -1,9 +1,9 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
# Relative path conversion top directories.
-set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.85/LspCpp")
-set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.85/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.86/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.86/LspCpp")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
diff --git a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
index dc55e44b55..45a25b7803 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake
@@ -10,8 +10,8 @@ set(CMAKE_DEPENDS_LANGUAGES
set(CMAKE_DEPENDS_DEPENDENCY_FILES
)
-# Targets to which this target links.
-set(CMAKE_TARGET_LINKED_INFO_FILES
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
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 994bfaa5af..ddd6707269 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
@@ -1,5 +1,5 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
@@ -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.85/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.86/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.85/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.86/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.85/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating API documentation with Doxygen"
- cd /usr/local/src/asymptote-2.85/LspCpp/third_party/uri && /bin/doxygen /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/Doxyfile
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/usr/local/src/asymptote-2.86/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Generating API documentation with Doxygen"
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri && /bin/doxygen /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri && $(CMAKE_COMMAND) -P CMakeFiles/doc.dir/cmake_clean.cmake
+ cd /usr/local/src/asymptote-2.86/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.85/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.85/LspCpp /usr/local/src/asymptote-2.85/LspCpp/third_party/uri /usr/local/src/asymptote-2.85/LspCpp /usr/local/src/asymptote-2.85/LspCpp/third_party/uri /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/CMakeFiles/doc.dir/DependInfo.cmake --color=$(COLOR)
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.86/LspCpp /usr/local/src/asymptote-2.86/LspCpp/third_party/uri /usr/local/src/asymptote-2.86/LspCpp /usr/local/src/asymptote-2.86/LspCpp/third_party/uri /usr/local/src/asymptote-2.86/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 330b39dfa1..03d5f7ed10 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.85/LspCpp/third_party/uri/include/
+STRIP_FROM_PATH = /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/include
+INPUT = /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/include/network/uri/detail
+EXCLUDE = /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/uri/src/
+IGNORE_PREFIX = /usr/local/src/asymptote-2.86/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 39e5192cbf..07d7a37974 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/Makefile
+++ b/graphics/asymptote/LspCpp/third_party/uri/Makefile
@@ -1,5 +1,5 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
# Default target executed when no arguments are given to make.
default_target: all
@@ -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.85/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.86/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.85/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.86/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.85/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.85/LspCpp/CMakeFiles /usr/local/src/asymptote-2.85/LspCpp/third_party/uri//CMakeFiles/progress.marks
- cd /usr/local/src/asymptote-2.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/all
- $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.85/LspCpp/CMakeFiles 0
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.86/LspCpp/CMakeFiles /usr/local/src/asymptote-2.86/LspCpp/third_party/uri//CMakeFiles/progress.marks
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.86/LspCpp/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
- cd /usr/local/src/asymptote-2.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/clean
+ cd /usr/local/src/asymptote-2.86/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.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
.PHONY : preinstall
# Prepare targets for installation.
preinstall/fast:
- cd /usr/local/src/asymptote-2.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/preinstall
.PHONY : preinstall/fast
# clear depends
depend:
- cd /usr/local/src/asymptote-2.85/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+ cd /usr/local/src/asymptote-2.86/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.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/CMakeFiles/doc.dir/rule
+ cd /usr/local/src/asymptote-2.86/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.85/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.86/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.85/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+ cd /usr/local/src/asymptote-2.86/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 e62d7db666..c0309bdeb7 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.85/LspCpp/third_party/uri
+# Install script for directory: /usr/local/src/asymptote-2.86/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(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE DIRECTORY FILES "/usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include")
+ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/." TYPE DIRECTORY FILES "/usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src/cmake_install.cmake")
+ include("/usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/cmake_install.cmake")
endif()
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 0af0e082c5..c8723fecaa 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/CMakeDirectoryInformation.cmake
@@ -1,9 +1,9 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
# Relative path conversion top directories.
-set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.85/LspCpp")
-set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.85/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/usr/local/src/asymptote-2.86/LspCpp")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "/usr/local/src/asymptote-2.86/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 3ce1ac6ff1..32bdf946b5 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,18 +8,18 @@ set(CMAKE_DEPENDS_LANGUAGES
# The set of dependency files which are needed:
set(CMAKE_DEPENDS_DEPENDENCY_FILES
- "/usr/local/src/asymptote-2.85/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.85/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.85/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.85/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.85/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.85/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.85/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.85/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.86/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.86/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.86/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.86/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.86/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.86/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.86/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.86/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.
-set(CMAKE_TARGET_LINKED_INFO_FILES
+# Targets to which this target links which contain Fortran sources.
+set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
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 b61109a6d3..a811e7cf04 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
@@ -1,5 +1,5 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
@@ -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.85/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.86/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.85/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.86/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.85/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.85/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.85/LspCpp/third_party/uri/src/uri.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.86/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.86/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.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/uri.cpp > CMakeFiles/network-uri.dir/uri.cpp.i
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/uri.cpp -o CMakeFiles/network-uri.dir/uri.cpp.s
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.86/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.85/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.85/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.85/LspCpp/third_party/uri/src/uri_builder.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.86/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.86/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.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/uri_builder.cpp > CMakeFiles/network-uri.dir/uri_builder.cpp.i
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/uri_builder.cpp -o CMakeFiles/network-uri.dir/uri_builder.cpp.s
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.86/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.85/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.85/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.85/LspCpp/third_party/uri/src/uri_errors.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/usr/local/src/asymptote-2.86/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.86/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.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/uri_errors.cpp > CMakeFiles/network-uri.dir/uri_errors.cpp.i
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/uri_errors.cpp -o CMakeFiles/network-uri.dir/uri_errors.cpp.s
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.86/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.85/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.85/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.85/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.86/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.86/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.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_parse.cpp > CMakeFiles/network-uri.dir/detail/uri_parse.cpp.i
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.85/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.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.86/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.85/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.85/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.85/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.86/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.86/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.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.85/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.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.85/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.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.86/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.85/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.85/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.85/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.86/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.86/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.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.85/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.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.85/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.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.86/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.85/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.85/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.85/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.86/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.86/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.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_normalize.cpp > CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.i
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.85/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.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.86/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.85/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.85/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.85/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.86/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.86/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.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_resolve.cpp > CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.i
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.85/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.86/LspCpp/third_party/uri/src && /bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /usr/local/src/asymptote-2.86/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.85/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Linking CXX static library libnetwork-uri.a"
- cd /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean_target.cmake
- cd /usr/local/src/asymptote-2.85/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.86/LspCpp/CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Linking CXX static library libnetwork-uri.a"
+ cd /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean_target.cmake
+ cd /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src && $(CMAKE_COMMAND) -P CMakeFiles/network-uri.dir/cmake_clean.cmake
+ cd /usr/local/src/asymptote-2.86/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.85/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.85/LspCpp /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.85/LspCpp /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/DependInfo.cmake --color=$(COLOR)
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /usr/local/src/asymptote-2.86/LspCpp /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.86/LspCpp /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src /usr/local/src/asymptote-2.86/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 1542483042..fd72dc9ebf 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
@@ -1,11 +1,11 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_advance_parts.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
/usr/include/c++/12/string
/usr/include/c++/12/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -175,7 +175,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
/usr/include/c++/12/typeinfo
/usr/include/c++/12/bits/nested_exception.h
/usr/include/c++/12/bits/streambuf.tcc
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/12/memory
/usr/include/c++/12/bits/stl_uninitialized.h
/usr/include/c++/12/bits/stl_tempbuf.h
@@ -199,16 +199,16 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o
/usr/include/c++/12/bits/algorithmfwd.h
/usr/include/c++/12/bits/stl_heap.h
/usr/include/c++/12/bits/uniform_int_dist.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/12/cassert
/usr/include/assert.h
/usr/include/c++/12/limits
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_normalize.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri.hpp
/usr/include/c++/12/iterator
/usr/include/c++/12/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -401,23 +401,23 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
/usr/include/c++/12/bits/atomic_base.h
/usr/include/c++/12/bits/atomic_lockfree_defines.h
/usr/include/c++/12/backward/auto_ptr.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/12/cassert
/usr/include/assert.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/12/utility
/usr/include/c++/12/bits/stl_relops.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
/usr/include/c++/12/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
/usr/include/c++/12/vector
/usr/include/c++/12/bits/stl_vector.h
/usr/include/c++/12/bits/stl_bvector.h
@@ -438,14 +438,14 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_normalize.cpp.o
/usr/include/c++/12/bits/codecvt.h
/usr/include/c++/12/bits/locale_facets_nonio.tcc
/usr/include/c++/12/bits/locale_conv.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/algorithm.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/algorithm_split.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src/detail/uri_parse.cpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_parse.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_parse.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/12/string
/usr/include/c++/12/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -622,7 +622,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
/usr/include/c++/12/bits/stl_tempbuf.h
/usr/include/c++/12/bits/uniform_int_dist.h
/usr/include/c++/12/limits
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/grammar.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/grammar.hpp
/usr/include/c++/12/locale
/usr/include/c++/12/bits/locale_facets.h
/usr/include/c++/12/cwctype
@@ -642,10 +642,10 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
/usr/include/c++/12/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
/usr/include/c++/12/utility
/usr/include/c++/12/bits/stl_relops.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/12/memory
/usr/include/c++/12/bits/stl_uninitialized.h
/usr/include/c++/12/bits/stl_raw_storage_iter.h
@@ -665,10 +665,10 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse.cpp.o
/usr/include/c++/12/backward/auto_ptr.h
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_parse_authority.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
/usr/include/c++/12/string
/usr/include/c++/12/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -838,7 +838,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
/usr/include/c++/12/typeinfo
/usr/include/c++/12/bits/nested_exception.h
/usr/include/c++/12/bits/streambuf.tcc
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/12/memory
/usr/include/c++/12/bits/stl_uninitialized.h
/usr/include/c++/12/bits/stl_tempbuf.h
@@ -862,11 +862,11 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_parse_authority.cpp.o
/usr/include/c++/12/bits/algorithmfwd.h
/usr/include/c++/12/bits/stl_heap.h
/usr/include/c++/12/bits/uniform_int_dist.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/12/cassert
/usr/include/assert.h
/usr/include/c++/12/limits
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/grammar.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/grammar.hpp
/usr/include/c++/12/locale
/usr/include/c++/12/bits/locale_facets.h
/usr/include/c++/12/cwctype
@@ -888,10 +888,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.85/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_resolve.cpp
/usr/include/stdc-predef.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri.hpp
/usr/include/c++/12/iterator
/usr/include/c++/12/x86_64-redhat-linux/bits/c++config.h
/usr/include/bits/wordsize.h
@@ -1084,27 +1084,27 @@ third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_resolve.cpp.o
/usr/include/c++/12/bits/atomic_base.h
/usr/include/c++/12/bits/atomic_lockfree_defines.h
/usr/include/c++/12/backward/auto_ptr.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/12/cassert
/usr/include/assert.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/12/utility
/usr/include/c++/12/bits/stl_relops.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
/usr/include/c++/12/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/algorithm_find.hpp
/usr/include/c++/12/cstddef
third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/uri.cpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/uri.cpp
/usr/include/stdc-predef.h
/usr/include/c++/12/cassert
/usr/include/c++/12/x86_64-redhat-linux/bits/c++config.h
@@ -1299,7 +1299,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
/usr/include/c++/12/tuple
/usr/include/c++/12/bits/uses_allocator.h
/usr/include/c++/12/bits/std_function.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri.hpp
/usr/include/c++/12/iterator
/usr/include/c++/12/bits/stream_iterator.h
/usr/include/c++/12/memory
@@ -1317,33 +1317,33 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri.cpp.o
/usr/include/c++/12/bits/atomic_base.h
/usr/include/c++/12/bits/atomic_lockfree_defines.h
/usr/include/c++/12/backward/auto_ptr.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/string_view.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/optional.hpp
/usr/include/c++/12/utility
/usr/include/c++/12/bits/stl_relops.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
/usr/include/c++/12/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_parse.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_parse.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_advance_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_percent_encode.hpp
/usr/include/c++/12/vector
/usr/include/c++/12/bits/stl_vector.h
/usr/include/c++/12/bits/stl_bvector.h
/usr/include/c++/12/bits/vector.tcc
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_resolve.hpp
+ /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src/uri_builder.cpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/uri_builder.cpp
/usr/include/stdc-predef.h
/usr/include/c++/12/locale
/usr/include/c++/12/bits/localefwd.h
@@ -1526,10 +1526,10 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
/usr/include/c++/12/bits/codecvt.h
/usr/include/c++/12/bits/locale_facets_nonio.tcc
/usr/include/c++/12/bits/locale_conv.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_builder.hpp
/usr/include/c++/12/utility
/usr/include/c++/12/bits/stl_relops.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri.hpp
/usr/include/c++/12/iterator
/usr/include/c++/12/bits/stream_iterator.h
/usr/include/c++/12/algorithm
@@ -1557,25 +1557,25 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_builder.cpp.o
/usr/include/c++/12/bits/atomic_base.h
/usr/include/c++/12/bits/atomic_lockfree_defines.h
/usr/include/c++/12/backward/auto_ptr.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/string_view.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/string_view.hpp
/usr/include/c++/12/cassert
/usr/include/assert.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/optional.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/config.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/optional.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/uri_parts.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/encode.hpp
/usr/include/c++/12/cstring
/usr/include/string.h
/usr/include/strings.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/detail/algorithm.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/decode.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/detail/translate.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_normalize.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/detail/uri_parse_authority.hpp
+ /usr/local/src/asymptote-2.86/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.85/LspCpp/third_party/uri/src/uri_errors.cpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/uri_errors.cpp
/usr/include/stdc-predef.h
/usr/include/c++/12/string
/usr/include/c++/12/x86_64-redhat-linux/bits/c++config.h
@@ -1710,7 +1710,7 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
/usr/include/c++/12/bits/functional_hash.h
/usr/include/c++/12/bits/hash_bytes.h
/usr/include/c++/12/bits/basic_string.tcc
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/uri_errors.hpp
/usr/include/c++/12/system_error
/usr/include/c++/12/x86_64-redhat-linux/bits/error_constants.h
/usr/include/c++/12/stdexcept
@@ -1719,5 +1719,5 @@ third_party/uri/src/CMakeFiles/network-uri.dir/uri_errors.cpp.o
/usr/include/c++/12/bits/cxxabi_init_exception.h
/usr/include/c++/12/typeinfo
/usr/include/c++/12/bits/nested_exception.h
- /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include/network/uri/config.hpp
+ /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include/network/uri/config.hpp
diff --git a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
index d8013e34c3..595b036f31 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/CMakeFiles/network-uri.dir/compiler_depend.make
@@ -1,5 +1,5 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
third_party/uri/src/CMakeFiles/network-uri.dir/detail/uri_advance_parts.cpp.o: third_party/uri/src/detail/uri_advance_parts.cpp \
/usr/include/stdc-predef.h \
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 a977a075c6..866335975d 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
@@ -1,10 +1,10 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
# compile CXX with /bin/c++
CXX_DEFINES =
-CXX_INCLUDES = -I/usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src -I/usr/local/src/asymptote-2.85/LspCpp/third_party/uri/include
+CXX_INCLUDES = -I/usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src -I/usr/local/src/asymptote-2.86/LspCpp/third_party/uri/include
-CXX_FLAGS = -fPIE -D_FILE_OFFSET_BIS=64 -DUSEGC -I../gc-8.2.0/include -std=c++11 -Wall -Werror -Wno-parentheses -O2 -g -DNDEBUG
+CXX_FLAGS = -fPIE -D_FILE_OFFSET_BIS=64 -DUSEGC -I../gc-8.2.4/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 9913f5cc91..6bddcf7b3c 100644
--- a/graphics/asymptote/LspCpp/third_party/uri/src/Makefile
+++ b/graphics/asymptote/LspCpp/third_party/uri/src/Makefile
@@ -1,5 +1,5 @@
# CMAKE generated file: DO NOT EDIT!
-# Generated by "Unix Makefiles" Generator, CMake Version 3.25
+# Generated by "Unix Makefiles" Generator, CMake Version 3.26
# Default target executed when no arguments are given to make.
default_target: all
@@ -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.85/LspCpp
+CMAKE_SOURCE_DIR = /usr/local/src/asymptote-2.86/LspCpp
# The top-level build directory on which CMake was run.
-CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.85/LspCpp
+CMAKE_BINARY_DIR = /usr/local/src/asymptote-2.86/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.85/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.85/LspCpp/CMakeFiles /usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src//CMakeFiles/progress.marks
- cd /usr/local/src/asymptote-2.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/all
- $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.85/LspCpp/CMakeFiles 0
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.86/LspCpp/CMakeFiles /usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src//CMakeFiles/progress.marks
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/all
+ $(CMAKE_COMMAND) -E cmake_progress_start /usr/local/src/asymptote-2.86/LspCpp/CMakeFiles 0
.PHONY : all
# The main clean target
clean:
- cd /usr/local/src/asymptote-2.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/clean
+ cd /usr/local/src/asymptote-2.86/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.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
+ cd /usr/local/src/asymptote-2.86/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.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
+ cd /usr/local/src/asymptote-2.86/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/preinstall
.PHONY : preinstall/fast
# clear depends
depend:
- cd /usr/local/src/asymptote-2.85/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
+ cd /usr/local/src/asymptote-2.86/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.85/LspCpp && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 third_party/uri/src/CMakeFiles/network-uri.dir/rule
+ cd /usr/local/src/asymptote-2.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/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.86/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.85/LspCpp && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
+ cd /usr/local/src/asymptote-2.86/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 bdaabf2bd4..18b85f6720 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.85/LspCpp/third_party/uri/src
+# Install script for directory: /usr/local/src/asymptote-2.86/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(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT)
- file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/usr/local/src/asymptote-2.85/LspCpp/third_party/uri/src/libnetwork-uri.a")
+ file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/usr/local/src/asymptote-2.86/LspCpp/third_party/uri/src/libnetwork-uri.a")
endif()
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt b/graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
index f1a2e1f1e9..c8d4b7a3c5 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required (VERSION 3.0.2)
-project (utf8cpp VERSION 3.2 LANGUAGES CXX)
+project (utf8cpp VERSION 3.2.2 LANGUAGES CXX)
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
set(IS_ROOT_PROJECT ON)
@@ -19,6 +19,7 @@ target_include_directories(utf8cpp INTERFACE
add_library(utf8::cpp ALIAS utf8cpp)
if(UTF8_INSTALL)
+ include(CMakePackageConfigHelpers)
if(MSVC)
set(DEF_INSTALL_CMAKE_DIR CMake)
else()
@@ -26,9 +27,28 @@ if(UTF8_INSTALL)
set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/utf8cpp)
endif()
+ write_basic_package_version_file(
+ ${CMAKE_CURRENT_BINARY_DIR}/utf8cppConfigVersion.cmake
+ VERSION ${PROJECT_VERSION}
+ COMPATIBILITY SameMajorVersion
+ )
+
+ configure_package_config_file(
+ ${PROJECT_SOURCE_DIR}/utf8cppConfig.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/utf8cppConfig.cmake
+ INSTALL_DESTINATION ${DEF_INSTALL_CMAKE_DIR}
+ )
+
install(DIRECTORY source/ DESTINATION include/utf8cpp)
- install(TARGETS utf8cpp EXPORT utf8cppConfig)
- install(EXPORT utf8cppConfig DESTINATION ${DEF_INSTALL_CMAKE_DIR})
+ install(TARGETS utf8cpp EXPORT utf8cppTargets)
+ install(EXPORT utf8cppTargets DESTINATION ${DEF_INSTALL_CMAKE_DIR})
+ install(
+ FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/utf8cppConfig.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/utf8cppConfigVersion.cmake
+ DESTINATION
+ ${DEF_INSTALL_CMAKE_DIR}
+ )
endif()
if(UTF8_SAMPLES)
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/README.md b/graphics/asymptote/LspCpp/third_party/utfcpp/README.md
index a519cdb963..02d9f75d93 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/README.md
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/README.md
@@ -11,7 +11,7 @@ The purpose of this article is not to offer an introduction to Unicode in genera
## Examples of use
-### Introductionary Sample
+### Introductory Sample
To illustrate the use of the library, let's start with a small but complete program that opens a file containing UTF-8 encoded text, reads it line by line, checks each line for invalid UTF-8 byte sequences, and converts it to UTF-16 encoding and back to UTF-8:
@@ -149,7 +149,7 @@ The function will replace any invalid UTF-8 sequence with a Unicode replacement
The library was designed to be:
1. Generic: for better or worse, there are many C++ string classes out there, and the library should work with as many of them as possible.
-2. Portable: the library should be portable both accross different platforms and compilers. The only non-portable code is a small section that declares unsigned integers of different sizes: three typedefs. They can be changed by the users of the library if they don't match their platform. The default setting should work for Windows (both 32 and 64 bit), and most 32 bit and 64 bit Unix derivatives. Support for post C++03 language features is included for modern compilers at API level only, so the library should work even with pretty old compilers.
+2. Portable: the library should be portable both across different platforms and compilers. The only non-portable code is a small section that declares unsigned integers of different sizes: three typedefs. They can be changed by the users of the library if they don't match their platform. The default setting should work for Windows (both 32 and 64 bit), and most 32 bit and 64 bit Unix derivatives. Support for post C++03 language features is included for modern compilers at API level only, so the library should work even with pretty old compilers.
3. Lightweight: follow the "pay only for what you use" guideline.
4. Unintrusive: avoid forcing any particular design or even programming style on the user. This is a library, not a framework.
@@ -157,7 +157,7 @@ The library was designed to be:
In case you want to look into other means of working with UTF-8 strings from C++, here is the list of solutions I am aware of:
-1. [ICU Library](http://icu.sourceforge.net/). It is very powerful, complete, feature-rich, mature, and widely used. Also big, intrusive, non-generic, and doesn't play well with the Standard Library. I definitelly recommend looking at ICU even if you don't plan to use it.
+1. [ICU Library](http://icu.sourceforge.net/). It is very powerful, complete, feature-rich, mature, and widely used. Also big, intrusive, non-generic, and doesn't play well with the Standard Library. I definitely recommend looking at ICU even if you don't plan to use it.
2. C++11 language and library features. Still far from complete, and not easy to use.
3. [Glib::ustring](http://www.gtkmm.org/gtkmm2/docs/tutorial/html/ch03s04.html). A class specifically made to work with UTF-8 strings, and also feel like `std::string`. If you prefer to have yet another string class in your code, it may be worth a look. Be aware of the licensing issues, though.
4. Platform dependent solutions: Windows and POSIX have functions to convert strings from one encoding to another. That is only a subset of what my library offers, but if that is all you need it may be good enough.
@@ -247,7 +247,7 @@ assert (w == twochars + 3);
This function is typically used to iterate through a UTF-8 encoded string.
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown.
#### utf8::peek_next
@@ -276,7 +276,7 @@ assert (cp == 0x65e5);
assert (w == twochars);
```
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown.
#### utf8::prior
@@ -345,7 +345,7 @@ In case of an invalid code point, a `utf8::invalid_code_point` exception is thro
Available in version 1.0 and later.
-Given the iterators to two UTF-8 encoded code points in a seqence, returns the number of code points between them.
+Given the iterators to two UTF-8 encoded code points in a sequence, returns the number of code points between them.
```cpp
template <typename octet_iterator>
@@ -367,7 +367,7 @@ assert (dist == 2);
This function is used to find the length (in code points) of a UTF-8 encoded string. The reason it is called _distance_, rather than, say, _length_ is mainly because developers are used that _length_ is an O(1) function. Computing the length of an UTF-8 string is a linear operation, and it looked better to model it after `std::distance` algorithm.
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown. If `last` does not point to the past-of-end of a UTF-8 seqence, a `utf8::not_enough_room` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown. If `last` does not point to the past-of-end of a UTF-8 sequence, a `utf8::not_enough_room` exception is thrown.
#### utf8::utf16to8
@@ -469,7 +469,7 @@ assert (utf16result[2] == 0xd834);
assert (utf16result[3] == 0xdd1e);
```
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown.
#### utf8::utf8to16
@@ -494,7 +494,7 @@ assert (utf16result[2] == 0xd834);
assert (utf16result[3] == 0xdd1e);
```
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown.
#### utf8::utf8to16
@@ -525,7 +525,7 @@ assert (utf16result[2] == 0xd834);
assert (utf16result[3] == 0xdd1e);
```
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown. If `end` does not point to the past-of-end of a UTF-8 seqence, a `utf8::not_enough_room` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown. If `end` does not point to the past-of-end of a UTF-8 sequence, a `utf8::not_enough_room` exception is thrown.
#### utf8::utf32to8
@@ -625,7 +625,7 @@ u32string utf32result = utf8to32(twochars);
assert (utf32result.size() == 2);
```
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown.
#### utf8::utf8to32
@@ -648,7 +648,7 @@ u32string utf32result = utf8to32(twochars);
assert (utf32result.size() == 2);
```
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown.
#### utf8::utf8to32
@@ -678,7 +678,7 @@ utf8to32(twochars, twochars + 5, back_inserter(utf32result));
assert (utf32result.size() == 2);
```
-In case of an invalid UTF-8 seqence, a `utf8::invalid_utf8` exception is thrown. If `end` does not point to the past-of-end of a UTF-8 seqence, a `utf8::not_enough_room` exception is thrown.
+In case of an invalid UTF-8 sequence, a `utf8::invalid_utf8` exception is thrown. If `end` does not point to the past-of-end of a UTF-8 sequence, a `utf8::not_enough_room` exception is thrown.
#### utf8::find_invalid
@@ -824,7 +824,7 @@ bool bvalid = is_valid(utf_invalid, utf_invalid + 6);
assert (bvalid == false);
```
-`is_valid` is a shorthand for `find_invalid(start, end) == end;`. You may want to use it to make sure that a byte seqence is a valid UTF-8 string without the need to know where it fails if it is not valid.
+`is_valid` is a shorthand for `find_invalid(start, end) == end;`. You may want to use it to make sure that a byte sequence is a valid UTF-8 string without the need to know where it fails if it is not valid.
#### utf8::replace_invalid
@@ -1094,9 +1094,9 @@ class iterator;
`uint32_t operator * () const;` decodes the utf-8 sequence the underlying octet_iterator is pointing to and returns the code point.
-`bool operator == (const iterator& rhs) const;` returns `true` if the two underlaying iterators are equal.
+`bool operator == (const iterator& rhs) const;` returns `true` if the two underlying iterators are equal.
-`bool operator != (const iterator& rhs) const;` returns `true` if the two underlaying iterators are not equal.
+`bool operator != (const iterator& rhs) const;` returns `true` if the two underlying iterators are not equal.
`iterator& operator ++ ();` the prefix increment - moves the iterator to the next UTF-8 encoded code point.
@@ -1219,7 +1219,7 @@ This is a faster but less safe version of `utf8::peek_next`. It does not check f
Available in version 1.02 and later.
-Given a reference to an iterator pointing to an octet in a UTF-8 seqence, it decreases the iterator until it hits the beginning of the previous UTF-8 encoded code point and returns the 32 bits representation of the code point.
+Given a reference to an iterator pointing to an octet in a UTF-8 sequence, it decreases the iterator until it hits the beginning of the previous UTF-8 encoded code point and returns the 32 bits representation of the code point.
```cpp
template <typename octet_iterator>
@@ -1270,7 +1270,7 @@ This is a faster but less safe version of `utf8::advance`. It does not check for
Available in version 1.0 and later.
-Given the iterators to two UTF-8 encoded code points in a seqence, returns the number of code points between them.
+Given the iterators to two UTF-8 encoded code points in a sequence, returns the number of code points between them.
```cpp
template <typename octet_iterator>
@@ -1460,9 +1460,9 @@ class iterator;
`uint32_t operator * () const;` decodes the utf-8 sequence the underlying octet_iterator is pointing to and returns the code point.
-`bool operator == (const iterator& rhs) const;` returns `true` if the two underlaying iterators are equal.
+`bool operator == (const iterator& rhs) const;` returns `true` if the two underlying iterators are equal.
-`bool operator != (const iterator& rhs) const;` returns `true` if the two underlaying iterators are not equal.
+`bool operator != (const iterator& rhs) const;` returns `true` if the two underlying iterators are not equal.
`iterator& operator ++ ();` the prefix increment - moves the iterator to the next UTF-8 encoded code point.
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
index 993b7f7c5f..512dcc2fba 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/checked.h
@@ -50,6 +50,7 @@ namespace utf8
uint8_t u8;
public:
invalid_utf8 (uint8_t u) : u8(u) {}
+ invalid_utf8 (char c) : u8(static_cast<uint8_t>(c)) {}
virtual const char* what() const UTF_CPP_NOEXCEPT UTF_CPP_OVERRIDE { return "Invalid UTF-8"; }
uint8_t utf8_octet() const {return u8;}
};
@@ -75,24 +76,7 @@ namespace utf8
if (!utf8::internal::is_code_point_valid(cp))
throw invalid_code_point(cp);
- if (cp < 0x80) // one octet
- *(result++) = static_cast<uint8_t>(cp);
- else if (cp < 0x800) { // two octets
- *(result++) = static_cast<uint8_t>((cp >> 6) | 0xc0);
- *(result++) = static_cast<uint8_t>((cp & 0x3f) | 0x80);
- }
- else if (cp < 0x10000) { // three octets
- *(result++) = static_cast<uint8_t>((cp >> 12) | 0xe0);
- *(result++) = static_cast<uint8_t>(((cp >> 6) & 0x3f) | 0x80);
- *(result++) = static_cast<uint8_t>((cp & 0x3f) | 0x80);
- }
- else { // four octets
- *(result++) = static_cast<uint8_t>((cp >> 18) | 0xf0);
- *(result++) = static_cast<uint8_t>(((cp >> 12) & 0x3f) | 0x80);
- *(result++) = static_cast<uint8_t>(((cp >> 6) & 0x3f) | 0x80);
- *(result++) = static_cast<uint8_t>((cp & 0x3f) | 0x80);
- }
- return result;
+ return internal::append(cp, result);
}
template <typename octet_iterator, typename output_iterator>
@@ -148,7 +132,7 @@ namespace utf8
case internal::INVALID_LEAD :
case internal::INCOMPLETE_SEQUENCE :
case internal::OVERLONG_SEQUENCE :
- throw invalid_utf8(*it);
+ throw invalid_utf8(static_cast<uint8_t>(*it));
case internal::INVALID_CODE_POINT :
throw invalid_code_point(cp);
}
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
index d237e77a07..0eaf6a7d2a 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/core.h
@@ -297,6 +297,55 @@ namespace internal
return utf8::internal::validate_next(it, end, ignored);
}
+ // Internal implementation of both checked and unchecked append() function
+ // This function will be invoked by the overloads below, as they will know
+ // the octet_type.
+ template <typename octet_iterator, typename octet_type>
+ octet_iterator append(uint32_t cp, octet_iterator result) {
+ if (cp < 0x80) // one octet
+ *(result++) = static_cast<octet_type>(cp);
+ else if (cp < 0x800) { // two octets
+ *(result++) = static_cast<octet_type>((cp >> 6) | 0xc0);
+ *(result++) = static_cast<octet_type>((cp & 0x3f) | 0x80);
+ }
+ else if (cp < 0x10000) { // three octets
+ *(result++) = static_cast<octet_type>((cp >> 12) | 0xe0);
+ *(result++) = static_cast<octet_type>(((cp >> 6) & 0x3f) | 0x80);
+ *(result++) = static_cast<octet_type>((cp & 0x3f) | 0x80);
+ }
+ else { // four octets
+ *(result++) = static_cast<octet_type>((cp >> 18) | 0xf0);
+ *(result++) = static_cast<octet_type>(((cp >> 12) & 0x3f)| 0x80);
+ *(result++) = static_cast<octet_type>(((cp >> 6) & 0x3f) | 0x80);
+ *(result++) = static_cast<octet_type>((cp & 0x3f) | 0x80);
+ }
+ return result;
+ }
+
+ // One of the following overloads will be invoked from the API calls
+
+ // A simple (but dangerous) case: the caller appends byte(s) to a char array
+ inline char* append(uint32_t cp, char* result) {
+ return append<char*, char>(cp, result);
+ }
+
+ // Hopefully, most common case: the caller uses back_inserter
+ // i.e. append(cp, std::back_inserter(str));
+ template<typename container_type>
+ std::back_insert_iterator<container_type> append
+ (uint32_t cp, std::back_insert_iterator<container_type> result) {
+ return append<std::back_insert_iterator<container_type>,
+ typename container_type::value_type>(cp, result);
+ }
+
+ // The caller uses some other kind of output operator - not covered above
+ // Note that in this case we are not able to determine octet_type
+ // so we assume it's uint_8; that can cause a conversion warning if we are wrong.
+ template <typename octet_iterator>
+ octet_iterator append(uint32_t cp, octet_iterator result) {
+ return append<octet_iterator, uint8_t>(cp, result);
+ }
+
} // namespace internal
/// The library API - functions intended to be called by the users
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
index 77771ff8e1..2c9c9ba0be 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp11.h
@@ -70,7 +70,7 @@ namespace utf8
inline std::size_t find_invalid(const std::string& s)
{
std::string::const_iterator invalid = find_invalid(s.begin(), s.end());
- return (invalid == s.end()) ? std::string::npos : (invalid - s.begin());
+ return (invalid == s.end()) ? std::string::npos : static_cast<std::size_t>(invalid - s.begin());
}
inline bool is_valid(const std::string& s)
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
index 0205f12796..39b12b7c93 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/cpp17.h
@@ -70,7 +70,7 @@ namespace utf8
inline std::size_t find_invalid(std::string_view s)
{
std::string_view::const_iterator invalid = find_invalid(s.begin(), s.end());
- return (invalid == s.end()) ? std::string_view::npos : (invalid - s.begin());
+ return (invalid == s.end()) ? std::string_view::npos : static_cast<std::size_t>(invalid - s.begin());
}
inline bool is_valid(std::string_view s)
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
index 8bc34e8f65..7151a35b67 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/source/utf8/unchecked.h
@@ -37,24 +37,7 @@ namespace utf8
template <typename octet_iterator>
octet_iterator append(uint32_t cp, octet_iterator result)
{
- if (cp < 0x80) // one octet
- *(result++) = static_cast<uint8_t>(cp);
- else if (cp < 0x800) { // two octets
- *(result++) = static_cast<uint8_t>((cp >> 6) | 0xc0);
- *(result++) = static_cast<uint8_t>((cp & 0x3f) | 0x80);
- }
- else if (cp < 0x10000) { // three octets
- *(result++) = static_cast<uint8_t>((cp >> 12) | 0xe0);
- *(result++) = static_cast<uint8_t>(((cp >> 6) & 0x3f) | 0x80);
- *(result++) = static_cast<uint8_t>((cp & 0x3f) | 0x80);
- }
- else { // four octets
- *(result++) = static_cast<uint8_t>((cp >> 18) | 0xf0);
- *(result++) = static_cast<uint8_t>(((cp >> 12) & 0x3f)| 0x80);
- *(result++) = static_cast<uint8_t>(((cp >> 6) & 0x3f) | 0x80);
- *(result++) = static_cast<uint8_t>((cp & 0x3f) | 0x80);
- }
- return result;
+ return internal::append(cp, result);
}
template <typename octet_iterator, typename output_iterator>
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
index 4063df7c67..f3ce2584c9 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/CMakeLists.txt
@@ -1,17 +1,9 @@
add_executable(negative ${PROJECT_SOURCE_DIR}/tests/negative.cpp)
add_executable(cpp11 ${PROJECT_SOURCE_DIR}/tests/test_cpp11.cpp)
add_executable(cpp17 ${PROJECT_SOURCE_DIR}/tests/test_cpp17.cpp)
-add_executable(apitests
- ${PROJECT_SOURCE_DIR}/tests/test_checked_api.cpp
- ${PROJECT_SOURCE_DIR}/tests/test_unchecked_api.cpp
- ${PROJECT_SOURCE_DIR}/tests/test_checked_iterator.cpp
- ${PROJECT_SOURCE_DIR}/tests/test_unchecked_iterator.cpp
-)
-
-add_executable(noexceptionstests
- ${PROJECT_SOURCE_DIR}/tests/test_unchecked_api.cpp
- ${PROJECT_SOURCE_DIR}/tests/test_unchecked_iterator.cpp
-)
+add_executable(apitests ${PROJECT_SOURCE_DIR}/tests/apitests.cpp)
+
+add_executable(noexceptionstests ${PROJECT_SOURCE_DIR}/tests/noexceptionstests.cpp)
target_link_libraries(negative PRIVATE utf8::cpp)
target_link_libraries(cpp11 PRIVATE utf8::cpp)
@@ -19,6 +11,10 @@ target_link_libraries(cpp17 PRIVATE utf8::cpp)
target_link_libraries(apitests PRIVATE utf8::cpp)
target_link_libraries(noexceptionstests PRIVATE utf8::cpp)
+target_compile_options(${PROJECT_NAME} INTERFACE
+ $<$<CXX_COMPILER_ID:MSVC>:/W4>
+ $<$<NOT:$<CXX_COMPILER_ID:MSVC>>:-Wall -Wextra -Wpedantic -Wconversion>)
+
target_compile_options(noexceptionstests PUBLIC -fno-exceptions)
set_target_properties(negative apitests noexceptionstests
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/apitests.cpp b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/apitests.cpp
new file mode 100644
index 0000000000..083266d7d2
--- /dev/null
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/apitests.cpp
@@ -0,0 +1,6 @@
+#include "../extern/ftest/ftest.h"
+
+#include "test_checked_api.h"
+#include "test_checked_iterator.h"
+#include "test_unchecked_api.h"
+#include "test_unchecked_iterator.h"
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/noexceptionstests.cpp b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/noexceptionstests.cpp
new file mode 100644
index 0000000000..108ee750cd
--- /dev/null
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/noexceptionstests.cpp
@@ -0,0 +1,4 @@
+#include "../extern/ftest/ftest.h"
+
+#include "test_unchecked_api.h"
+#include "test_unchecked_iterator.h"
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.h
index b57e1bc894..3a7067b76a 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.cpp
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_api.h
@@ -1,5 +1,6 @@
-#define F_TEST_NO_MAIN
-#include "../extern/ftest/ftest.h"
+#ifndef UTF8_FOR_CPP_TEST_CHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
+#define UTF8_FOR_CPP_TEST_CHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
+
#include "utf8.h"
#include <string>
@@ -38,13 +39,19 @@ TEST(CheckedAPITests, test_append)
EXPECT_EQ (u[2], 0x8d);
EXPECT_EQ (u[3], 0x86);
EXPECT_EQ (u[4], 0);
+
+ // Ensure no warnings with plain char
+ char c[2] = {0,0};
+ append('a', c);
+ EXPECT_EQ (c[0], 'a');
+ EXPECT_EQ (c[1], 0);
}
TEST(CheckedAPITests, test_next)
{
const char* twochars = "\xe6\x97\xa5\xd1\x88";
const char* w = twochars;
- int cp = next(w, twochars + 6);
+ unsigned int cp = next(w, twochars + 6);
EXPECT_EQ (cp, 0x65e5);
EXPECT_EQ (w, twochars + 3);
@@ -67,7 +74,7 @@ TEST(CheckedAPITests, test_next)
TEST(CheckedAPITests, test_peek_next)
{
const char* const cw = "\xe6\x97\xa5\xd1\x88";
- int cp = peek_next(cw, cw + 6);
+ unsigned int cp = peek_next(cw, cw + 6);
EXPECT_EQ (cp, 0x65e5);
}
@@ -75,7 +82,7 @@ TEST(CheckedAPITests, test_prior)
{
const char* twochars = "\xe6\x97\xa5\xd1\x88";
const char* w = twochars + 3;
- int cp = prior (w, twochars);
+ unsigned int cp = prior (w, twochars);
EXPECT_EQ (cp, 0x65e5);
EXPECT_EQ (w, twochars);
@@ -111,13 +118,13 @@ TEST(CheckedAPITests, test_advance)
TEST(CheckedAPITests, test_distance)
{
const char* twochars = "\xe6\x97\xa5\xd1\x88";
- size_t dist = utf8::distance(twochars, twochars + 5);
+ size_t dist = static_cast<size_t>(utf8::distance(twochars, twochars + 5));
EXPECT_EQ (dist, 2);
}
TEST(CheckedAPITests, test_utf32to8)
{
- int utf32string[] = {0x448, 0x65E5, 0x10346, 0};
+ unsigned int utf32string[] = {0x448, 0x65E5, 0x10346, 0};
string utf8result;
utf32to8(utf32string, utf32string + 3, back_inserter(utf8result));
EXPECT_EQ (utf8result.size(), 9);
@@ -126,7 +133,7 @@ TEST(CheckedAPITests, test_utf32to8)
TEST(CheckedAPITests, test_utf8to32)
{
const char* twochars = "\xe6\x97\xa5\xd1\x88";
- vector<int> utf32result;
+ vector<unsigned int> utf32result;
utf8to32(twochars, twochars + 5, back_inserter(utf32result));
EXPECT_EQ (utf32result.size(), 2);
}
@@ -187,3 +194,5 @@ TEST(CheckedAPITests, test_starts_with_bom)
bool no_bbom = starts_with_bom(threechars, threechars + sizeof(threechars));
EXPECT_FALSE (no_bbom);
}
+
+#endif
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.h
index 3f9bfe96a2..2829a734ed 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.cpp
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_checked_iterator.h
@@ -1,5 +1,6 @@
-#define F_TEST_NO_MAIN
-#include "../extern/ftest/ftest.h"
+#ifndef UTF8_FOR_CPP_TEST_CHECKED_ITERATOR_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
+#define UTF8_FOR_CPP_TEST_CHECKED_ITERATOR_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
+
#include "utf8.h"
using namespace utf8;
@@ -30,3 +31,5 @@ TEST(CheckedIteratrTests, test_decrement)
EXPECT_EQ (--it, utf8::iterator<const char*>(threechars, threechars, threechars + 9));
EXPECT_EQ (*it, 0x10346);
}
+
+#endif
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.h
index c400ada0d2..10c5991ede 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.cpp
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_api.h
@@ -1,36 +1,38 @@
-#include "../extern/ftest/ftest.h"
+#ifndef UTF8_FOR_CPP_TEST_UNCHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
+#define UTF8_FOR_CPP_TEST_UNCHECKED_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
+
#include "utf8/unchecked.h"
#include <string>
#include <vector>
-using namespace utf8::unchecked;
+
using namespace std;
TEST(UnCheckedAPITests, test_append)
{
unsigned char u[5] = {0,0,0,0,0};
- append(0x0448, u);
+ utf8::unchecked::append(0x0448, u);
EXPECT_EQ (u[0], 0xd1);
EXPECT_EQ (u[1], 0x88);
EXPECT_EQ (u[2], 0);
EXPECT_EQ (u[3], 0);
EXPECT_EQ (u[4], 0);
- append(0x65e5, u);
+ utf8::unchecked::append(0x65e5, u);
EXPECT_EQ (u[0], 0xe6);
EXPECT_EQ (u[1], 0x97);
EXPECT_EQ (u[2], 0xa5);
EXPECT_EQ (u[3], 0);
EXPECT_EQ (u[4], 0);
- append(0x3044, u);
+ utf8::unchecked::append(0x3044, u);
EXPECT_EQ (u[0], 0xe3);
EXPECT_EQ (u[1], 0x81);
EXPECT_EQ (u[2], 0x84);
EXPECT_EQ (u[3], 0);
EXPECT_EQ (u[4], 0);
- append(0x10346, u);
+ utf8::unchecked::append(0x10346, u);
EXPECT_EQ (u[0], 0xf0);
EXPECT_EQ (u[1], 0x90);
EXPECT_EQ (u[2], 0x8d);
@@ -42,7 +44,7 @@ TEST(UnCheckedAPITests, test_next)
{
const char* twochars = "\xe6\x97\xa5\xd1\x88";
const char* w = twochars;
- int cp = utf8::unchecked::next(w);
+ unsigned int cp = utf8::unchecked::next(w);
EXPECT_EQ (cp, 0x65e5);
EXPECT_EQ (w, twochars + 3);
@@ -65,7 +67,7 @@ TEST(UnCheckedAPITests, test_next)
TEST(UnCheckedAPITests, test_peek_next)
{
const char* const cw = "\xe6\x97\xa5\xd1\x88";
- int cp = peek_next(cw);
+ unsigned int cp = utf8::unchecked::peek_next(cw);
EXPECT_EQ (cp, 0x65e5);
}
@@ -73,19 +75,19 @@ TEST(UnCheckedAPITests, test_prior)
{
const char* twochars = "\xe6\x97\xa5\xd1\x88";
const char* w = twochars + 3;
- int cp = prior (w);
+ unsigned int cp = utf8::unchecked::prior (w);
EXPECT_EQ (cp, 0x65e5);
EXPECT_EQ (w, twochars);
const char* threechars = "\xf0\x90\x8d\x86\xe6\x97\xa5\xd1\x88";
w = threechars + 9;
- cp = prior(w);
+ cp = utf8::unchecked::prior(w);
EXPECT_EQ (cp, 0x0448);
EXPECT_EQ (w, threechars + 7);
- cp = prior(w);
+ cp = utf8::unchecked::prior(w);
EXPECT_EQ (cp, 0x65e5);
EXPECT_EQ (w, threechars + 4);
- cp = prior(w);
+ cp = utf8::unchecked::prior(w);
EXPECT_EQ (cp, 0x10346);
EXPECT_EQ (w, threechars);
}
@@ -109,23 +111,23 @@ TEST(UnCheckedAPITests, test_advance)
TEST(UnCheckedAPITests, test_distance)
{
const char* twochars = "\xe6\x97\xa5\xd1\x88";
- size_t dist = utf8::unchecked::distance(twochars, twochars + 5);
+ size_t dist = static_cast<size_t>(utf8::unchecked::distance(twochars, twochars + 5));
EXPECT_EQ (dist, 2);
}
TEST(UnCheckedAPITests, test_utf32to8)
{
- int utf32string[] = {0x448, 0x65E5, 0x10346, 0};
+ unsigned int utf32string[] = {0x448, 0x65E5, 0x10346, 0};
string utf8result;
- utf32to8(utf32string, utf32string + 3, back_inserter(utf8result));
+ utf8::unchecked::utf32to8(utf32string, utf32string + 3, back_inserter(utf8result));
EXPECT_EQ (utf8result.size(), 9);
}
TEST(UnCheckedAPITests, test_utf8to32)
{
const char* twochars = "\xe6\x97\xa5\xd1\x88";
- vector<int> utf32result;
- utf8to32(twochars, twochars + 5, back_inserter(utf32result));
+ vector<unsigned int> utf32result;
+ utf8::unchecked::utf8to32(twochars, twochars + 5, back_inserter(utf32result));
EXPECT_EQ (utf32result.size(), 2);
}
@@ -133,7 +135,7 @@ TEST(UnCheckedAPITests, test_utf16to8)
{
unsigned short utf16string[] = {0x41, 0x0448, 0x65e5, 0xd834, 0xdd1e};
string utf8result;
- utf16to8(utf16string, utf16string + 5, back_inserter(utf8result));
+ utf8::unchecked::utf16to8(utf16string, utf16string + 5, back_inserter(utf8result));
EXPECT_EQ (utf8result.size(), 10);
}
@@ -141,7 +143,7 @@ TEST(UnCheckedAPITests, test_utf8to16)
{
char utf8_with_surrogates[] = "\xe6\x97\xa5\xd1\x88\xf0\x9d\x84\x9e";
vector <unsigned short> utf16result;
- utf8to16(utf8_with_surrogates, utf8_with_surrogates + 9, back_inserter(utf16result));
+ utf8::unchecked::utf8to16(utf8_with_surrogates, utf8_with_surrogates + 9, back_inserter(utf16result));
EXPECT_EQ (utf16result.size(), 4);
EXPECT_EQ (utf16result[2], 0xd834);
EXPECT_EQ (utf16result[3], 0xdd1e);
@@ -151,7 +153,7 @@ TEST(UnCheckedAPITests, test_replace_invalid)
{
char invalid_sequence[] = "a\x80\xe0\xa0\xc0\xaf\xed\xa0\x80z";
vector<char> replace_invalid_result;
- replace_invalid (invalid_sequence, invalid_sequence + sizeof(invalid_sequence), std::back_inserter(replace_invalid_result), '?');
+ utf8::unchecked::replace_invalid (invalid_sequence, invalid_sequence + sizeof(invalid_sequence), std::back_inserter(replace_invalid_result), '?');
bool bvalid = utf8::is_valid(replace_invalid_result.begin(), replace_invalid_result.end());
EXPECT_TRUE (bvalid);
const char fixed_invalid_sequence[] = "a????z";
@@ -159,3 +161,4 @@ TEST(UnCheckedAPITests, test_replace_invalid)
EXPECT_TRUE (std::equal(replace_invalid_result.begin(), replace_invalid_result.begin() + sizeof(fixed_invalid_sequence), fixed_invalid_sequence));
}
+#endif
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.h
index 68943bf94c..4294232d6a 100644
--- a/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.cpp
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/tests/test_unchecked_iterator.h
@@ -1,5 +1,5 @@
-#define F_TEST_NO_MAIN
-#include "../extern/ftest/ftest.h"
+#ifndef UTF8_FOR_CPP_TEST_UNCHECKED_ITERATOR_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
+#define UTF8_FOR_CPP_TEST_UNCHECKED_ITERATOR_H_2675DCD0_9480_4c0c_B92A_CC14C027B731
#include "utf8/unchecked.h"
@@ -32,3 +32,5 @@ TEST(UnCheckedIteratrTests, test_decrement)
EXPECT_EQ (*it, 0x10346);
}
+
+#endif
diff --git a/graphics/asymptote/LspCpp/third_party/utfcpp/utf8cppConfig.cmake.in b/graphics/asymptote/LspCpp/third_party/utfcpp/utf8cppConfig.cmake.in
new file mode 100644
index 0000000000..450fe8d186
--- /dev/null
+++ b/graphics/asymptote/LspCpp/third_party/utfcpp/utf8cppConfig.cmake.in
@@ -0,0 +1,6 @@
+@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/utf8cppTargets.cmake")
+check_required_components( "utf8cpp" )
+
+add_library(utf8::cpp ALIAS utf8cpp)
diff --git a/graphics/asymptote/Makefile.in b/graphics/asymptote/Makefile.in
index 4d1ea7b99e..7e24803c83 100644
--- a/graphics/asymptote/Makefile.in
+++ b/graphics/asymptote/Makefile.in
@@ -13,7 +13,7 @@ GCPPLIB = @GCPPLIB@
GCLIBS = $(GCPPLIB) $(GCLIB)
LFLAGS = @LDFLAGS@ -LLspCpp -LLspCpp/third_party/uri/src
LIBS = $(LFLAGS) @PTHREAD_LIBS@ @GLEW@ @LIBS@ $(GCLIBS) @LSPLIBS@
-DOSLIBS = $(subst -lncurses, -ltermcap, $(LIBS)) -lwolfssl -lgdi32 -lwinmm -s -static
+DOSLIBS = $(LIBS) -ltermcap -lwolfssl -lgdi32 -lwinmm -s -static
CMAKE ?= cmake
PERL ?= perl
diff --git a/graphics/asymptote/ReleaseNotes b/graphics/asymptote/ReleaseNotes
index d5a628df20..848de0c977 100644
--- a/graphics/asymptote/ReleaseNotes
+++ b/graphics/asymptote/ReleaseNotes
@@ -1,6 +1,16 @@
+Release Notes for Version 2.86
+
+PDF transfer functions are automatically applied;
+EPS output suppresses .setblendmode.
+NaN and inf values can be read in cvs mode.
+The OpenGL index buffer is properly initialized.
+WebGL and V3D primitives are used only when unscaled.
+Bugs in the inversion section of the geometry module were fixed.
+Portability issues were addressed.
+
Release Notes for Version 2.85
-Intersections of 3D paths with Bezier triangles was implemented.
+Intersections of 3D paths with Bezier triangles were implemented.
A workaround for broken offscreen graphics drivers was implemented.
The icon resource file is now pregenerated. Uninitialized variables and
a division by zero were fixed. The 3D animation timer and keyboard controls
diff --git a/graphics/asymptote/asy-keywords.el b/graphics/asymptote/asy-keywords.el
index 6bae43d06b..7b0a279ed8 100644
--- a/graphics/asymptote/asy-keywords.el
+++ b/graphics/asymptote/asy-keywords.el
@@ -2,7 +2,7 @@
;; This file is automatically generated by asy-list.pl.
;; Changes will be overwritten.
;;
-(defvar asy-keywords-version "2.85")
+(defvar asy-keywords-version "2.86")
(defvar asy-keyword-name '(
and controls tension atleast curl if else while for do return break continue struct typedef new access import unravel from include quote static public private restricted this explicit true false null cycle newframe operator ))
diff --git a/graphics/asymptote/asy.list b/graphics/asymptote/asy.list
index a4777ca057..3797737d5b 100644
--- a/graphics/asymptote/asy.list
+++ b/graphics/asymptote/asy.list
@@ -256,18 +256,18 @@ int search(int[] a, int key);
int search(real[] a, real key);
int search(string[] a, string key);
int search(void()()[] a, void key()(), bool less(void()(), void()()));
-int search(picture[] a, picture key, bool less(picture, picture));
int search(real[] a, real key, bool less(real, real));
int search(guide[] a, guide key, bool less(guide, guide));
int search(object[] a, object key, bool less(object, object));
int search(pair[] a, pair key, bool less(pair, pair));
int search(coord[] a, coord key, bool less(coord, coord));
+int search(Legend[] a, Legend key, bool less(Legend, Legend));
int search(Label[] a, Label key, bool less(Label, Label));
int search(frame[] a, frame key, bool less(frame, frame));
int search(coord[] a, coord key, bool less(coord, coord));
-int search(Legend[] a, Legend key, bool less(Legend, Legend));
int search(int[] a, int key, bool less(int, int));
int search(bool3[] a, bool3 key, bool less(bool3, bool3));
+int search(picture[] a, picture key, bool less(picture, picture));
int search(string[] a, string key, bool less(string, string));
int search(path[] a, path key, bool less(path, path));
int search(pen[] a, pen key, bool less(pen, pen));
@@ -531,7 +531,6 @@ pen[] copy(pen[] a, int depth=<default>);
coord[] copy(coord[] a, int depth=<default>);
object[] copy(object[] a, int depth=<default>);
marker[] copy(marker[] a, int depth=<default>);
-Legend[] copy(Legend[] a, int depth=<default>);
pen[][] copy(pen[][] a, int depth=<default>);
path[] copy(path[] a, int depth=<default>);
string[] copy(string[] a, int depth=<default>);
@@ -542,6 +541,7 @@ frame[] copy(frame[] a, int depth=<default>);
pair[] copy(pair[] a, int depth=<default>);
bool3[] copy(bool3[] a, int depth=<default>);
coord[] copy(coord[] a, int depth=<default>);
+Legend[] copy(Legend[] a, int depth=<default>);
Label[] copy(Label[] a, int depth=<default>);
picture[] copy(picture[] a, int depth=<default>);
pair[][] copy(pair[][] a, int depth=<default>);
@@ -577,18 +577,18 @@ pen palered;
real[] map(real f(pair), pair[] a);
int[] map(int f(real), real[] a);
bool3[] map(bool3 f(bool3), bool3[] a);
+picture[] map(picture f(picture), picture[] a);
frame[] map(frame f(frame), frame[] a);
coord[] map(coord f(coord), coord[] a);
-Legend[] map(Legend f(Legend), Legend[] a);
pen[][] map(pen[] f(pen[]), pen[][] a);
triple[] map(triple f(triple), triple[] a);
pen[] map(pen f(pen), pen[] a);
coord[] map(coord f(coord), coord[] a);
+Legend[] map(Legend f(Legend), Legend[] a);
Label[] map(Label f(Label), Label[] a);
pair[] map(pair f(pair), pair[] a);
object[] map(object f(object), object[] a);
string[] map(string f(string), string[] a);
-picture[] map(picture f(picture), picture[] a);
void()()[] map(void f()()(void()()), void()()[] a);
pair[][] map(pair[] f(pair[]), pair[][] a);
real[] map(real f(real), real[] a);
@@ -615,7 +615,6 @@ pen[][] sequence(pen[] f(int), int n);
coord[] sequence(coord f(int), int n);
object[] sequence(object f(int), int n);
marker[] sequence(marker f(int), int n);
-Legend[] sequence(Legend f(int), int n);
int[] sequence(int f(int), int n);
string[][] sequence(string[] f(int), int n);
pair[] sequence(pair f(int), int n);
@@ -628,6 +627,7 @@ string[] sequence(string f(int), int n);
pair[][] sequence(pair[] f(int), int n);
bool3[] sequence(bool3 f(int), int n);
coord[] sequence(coord f(int), int n);
+Legend[] sequence(Legend f(int), int n);
Label[] sequence(Label f(int), int n);
picture[] sequence(picture f(int), int n);
real[][] sequence(real[] f(int), int n);
@@ -752,6 +752,7 @@ string[] array(int n, string value, int depth=<default>);
pair[][] array(int n, pair[] value, int depth=<default>);
bool3[] array(int n, bool3 value, int depth=<default>);
coord[] array(int n, coord value, int depth=<default>);
+Legend[] array(int n, Legend value, int depth=<default>);
Label[] array(int n, Label value, int depth=<default>);
picture[] array(int n, picture value, int depth=<default>);
real[][] array(int n, real[] value, int depth=<default>);
@@ -763,7 +764,6 @@ pen[][] array(int n, pen[] value, int depth=<default>);
coord[] array(int n, coord value, int depth=<default>);
object[] array(int n, object value, int depth=<default>);
marker[] array(int n, marker value, int depth=<default>);
-Legend[] array(int n, Legend value, int depth=<default>);
int[] array(int n, int value, int depth=<default>);
string[][] array(int n, string[] value, int depth=<default>);
pair[] array(int n, pair value, int depth=<default>);
@@ -890,9 +890,9 @@ void write(string s=<default>, explicit path[] x, void suffix(file)=<default>);
void write(file file, void suffix(file)=<default>);
void write(file file=<default>, string s=<default>, pen[] p);
void write(void suffix(file)=<default>);
+void write(pairOrTriple a);
void write(file file, string s=<default>, explicit path[] x, void suffix(file)=<default>);
void write(file file=<default>, align align, void suffix(file)=<default>);
-void write(pairOrTriple a);
void write(file file, string s=<default>, cputime c, string format=<default>, void suffix(file)=<default>);
void write(string s=<default>, bool3 b, void suffix(file)=<default>);
void write(file file, string s=<default>, bool3 b, void suffix(file)=<default>);
@@ -951,18 +951,18 @@ arrowhead HookHead;
arrowhead HookHead(real dir=<default>, real barb=<default>);
marker[] concat(... marker[][]);
real[] concat(... real[][]);
-picture[] concat(... picture[][]);
pair[] concat(... pair[][]);
object[] concat(... object[][]);
pen[] concat(... pen[][]);
coord[] concat(... coord[][]);
+Legend[] concat(... Legend[][]);
Label[] concat(... Label[][]);
path[] concat(... path[][]);
coord[] concat(... coord[][]);
-Legend[] concat(... Legend[][]);
int[] concat(... int[][]);
void()()[] concat(... void()()[][]);
bool3[] concat(... bool3[][]);
+picture[] concat(... picture[][]);
string[] concat(... string[][]);
triple[] concat(... triple[][]);
frame[] concat(... frame[][]);
@@ -976,14 +976,13 @@ bool alias(pair[][] a, pair[][] b);
bool alias(guide[] a, guide[] b);
bool alias(marginT a, marginT b);
bool alias(coord[] a, coord[] b);
-bool alias(autoscaleT a, autoscaleT b);
+bool alias(scaleT a, scaleT b);
bool alias(align a, align b);
-bool alias(Legend[] a, Legend[] b);
bool alias(processtime a, processtime b);
bool alias(pair[] a, pair[] b);
bool alias(scaling a, scaling b);
bool alias(coord a, coord b);
-bool alias(node a, node b);
+bool alias(Legend a, Legend b);
bool alias(Label a, Label b);
bool alias(schur a, schur b);
bool alias(int[] a, int[] b);
@@ -997,16 +996,17 @@ bool alias(marker a, marker b);
bool alias(real[][] a, real[][] b);
bool alias(bool3 a, bool3 b);
bool alias(bool3[] a, bool3[] b);
-bool alias(scaleT a, scaleT b);
-bool alias(ScaleT a, ScaleT b);
+bool alias(autoscaleT a, autoscaleT b);
+bool alias(picture a, picture b);
bool alias(side a, side b);
+bool alias(picture[] a, picture[] b);
bool alias(cputime a, cputime b);
bool alias(string[] a, string[] b);
bool alias(frame[] a, frame[] b);
bool alias(coords2 a, coords2 b);
bool alias(scaling a, scaling b);
bool alias(light a, light b);
-bool alias(pairOrTriple a, pairOrTriple b);
+bool alias(node a, node b);
bool alias(object a, object b);
bool alias(marker[] a, marker[] b);
bool alias(bool[] a, bool[] b);
@@ -1016,21 +1016,21 @@ bool alias(filltype a, filltype b);
bool alias(simplex a, simplex b);
bool alias(coord[] a, coord[] b);
bool alias(projection a, projection b);
+bool alias(Legend[] a, Legend[] b);
bool alias(Label[] a, Label[] b);
bool alias(arrowhead a, arrowhead b);
bool alias(path[] a, path[] b);
bool alias(triple[] a, triple[] b);
bool alias(coord a, coord b);
bool alias(bounds a, bounds b);
-bool alias(Legend a, Legend b);
+bool alias(ScaleT a, ScaleT b);
bool alias(position a, position 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);
bool alias(coords2 a, coords2 b);
-bool alias(picture a, picture b);
-bool alias(picture[] a, picture[] b);
+bool alias(pairOrTriple a, pairOrTriple b);
real pi;
int getint(string name=<default>, int default=<default>, string prompt=<default>, bool store=<default>);
int bitreverse(int a, int bits);
@@ -1062,7 +1062,6 @@ string[][] sort(string[][] a);
coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>);
object[] sort(object[] a, bool less(object, object), bool stable=<default>);
marker[] sort(marker[] a, bool less(marker, marker), bool stable=<default>);
-Legend[] sort(Legend[] a, bool less(Legend, Legend), bool stable=<default>);
path[] sort(path[] a, bool less(path, path), bool stable=<default>);
pen[][] sort(pen[][] a, bool less(pen[], pen[]), bool stable=<default>);
pair[][] sort(pair[][] a, bool less(pair[], pair[]), bool stable=<default>);
@@ -1072,6 +1071,7 @@ void()()[] sort(void()()[] a, bool less(void()(), void()()), bool stable=<defaul
frame[] sort(frame[] a, bool less(frame, frame), bool stable=<default>);
bool3[] sort(bool3[] a, bool less(bool3, bool3), bool stable=<default>);
coord[] sort(coord[] a, bool less(coord, coord), bool stable=<default>);
+Legend[] sort(Legend[] a, bool less(Legend, Legend), bool stable=<default>);
Label[] sort(Label[] a, bool less(Label, Label), bool stable=<default>);
picture[] sort(picture[] a, bool less(picture, picture), bool stable=<default>);
int[] sort(int[] a, bool less(int, int), bool stable=<default>);
@@ -1378,13 +1378,13 @@ triple operator *(triple v, real x);
path3 operator *(real[][] t, path3 g);
side operator *(real x, side s);
Label operator *(real[][] t, Label L);
-picture operator *(transform t, picture orig);
+picture operator *(real[][] t, picture orig);
object operator *(transform t, explicit object F);
path[] operator *(transform t, explicit path[] p);
Label operator *(transform t, Label L);
pair[] operator *(transform t, pair[] z);
bounds operator *(transform t, bounds b);
-picture operator *(real[][] t, picture orig);
+picture operator *(transform t, picture orig);
bool operator init();
int operator init();
real operator init();
@@ -1399,7 +1399,7 @@ pen operator init();
frame operator init();
file operator init();
marginT operator init();
-autoscaleT operator init();
+scaleT operator init();
align operator init();
processtime operator init();
filltype operator init();
@@ -1412,25 +1412,25 @@ coords3 operator init();
marker operator init();
hsv operator init();
coords2 operator init();
-picture operator init();
+pairOrTriple operator init();
coords2 operator init();
scaling operator init();
light operator init();
-pairOrTriple operator init();
+node operator init();
object operator init();
scaling operator init();
coord operator init();
-node operator init();
+Legend operator init();
Label operator init();
schur operator init();
coord operator init();
bounds operator init();
-Legend operator init();
+ScaleT operator init();
position operator init();
realschur operator init();
bool3 operator init();
-scaleT operator init();
-ScaleT operator init();
+autoscaleT operator init();
+picture operator init();
side operator init();
cputime operator init();
real operator cast(int);
@@ -1476,8 +1476,6 @@ guide operator cast(curlSpecifier spec);
guide operator cast(tensionSpecifier t);
align operator cast(side side);
guide[] operator cast(path[] g);
-pair operator cast(pairOrTriple a);
-triple operator cast(pairOrTriple a);
frame operator cast(object F);
hsv operator cast(pen p);
bool3[] operator cast(bool[] b);
@@ -1498,6 +1496,8 @@ bool[] operator cast(bool3[] b);
bool3 operator cast(bool b);
position operator cast(int x);
object operator cast(string s);
+pair operator cast(pairOrTriple a);
+triple operator cast(pairOrTriple a);
pen operator cast(hsv hsv);
position operator cast(real x);
Label operator cast(string s);
@@ -1605,14 +1605,14 @@ bool operator ==(file a, file b);
bool operator ==(path a, path b);
bool operator ==(path3 a, path3 b);
bool operator ==(bool3 a, bool3 b);
-bool operator ==(scaleT a, scaleT b);
-bool operator ==(ScaleT a, ScaleT b);
+bool operator ==(autoscaleT a, autoscaleT b);
+bool operator ==(picture a, picture b);
bool operator ==(side a, side b);
bool operator ==(cputime a, cputime b);
bool operator ==(coords2 a, coords2 b);
bool operator ==(scaling a, scaling b);
bool operator ==(light a, light b);
-bool operator ==(pairOrTriple a, pairOrTriple b);
+bool operator ==(node a, node b);
bool operator ==(object a, object b);
bool operator ==(filltype a, filltype b);
bool operator ==(simplex a, simplex b);
@@ -1620,20 +1620,20 @@ bool operator ==(projection a, projection b);
bool operator ==(arrowhead a, arrowhead b);
bool operator ==(coord a, coord b);
bool operator ==(bounds a, bounds b);
-bool operator ==(Legend a, Legend b);
+bool operator ==(ScaleT a, ScaleT b);
bool operator ==(position a, position b);
bool operator ==(realschur a, realschur b);
bool operator ==(hsv a, hsv b);
bool operator ==(coords2 a, coords2 b);
-bool operator ==(picture a, picture b);
+bool operator ==(pairOrTriple a, pairOrTriple b);
bool operator ==(bool3 a, bool b);
bool operator ==(marginT a, marginT b);
-bool operator ==(autoscaleT a, autoscaleT b);
+bool operator ==(scaleT a, scaleT b);
bool operator ==(align a, align b);
bool operator ==(processtime a, processtime b);
bool operator ==(scaling a, scaling b);
bool operator ==(coord a, coord b);
-bool operator ==(node a, node b);
+bool operator ==(Legend a, Legend b);
bool operator ==(Label a, Label b);
bool operator ==(schur a, schur b);
bool operator ==(bool a, bool3 b);
@@ -1679,14 +1679,14 @@ bool operator !=(file a, file b);
bool operator !=(path a, path b);
bool operator !=(path3 a, path3 b);
bool operator !=(bool3 a, bool3 b);
-bool operator !=(scaleT a, scaleT b);
-bool operator !=(ScaleT a, ScaleT b);
+bool operator !=(autoscaleT a, autoscaleT b);
+bool operator !=(picture a, picture b);
bool operator !=(side a, side b);
bool operator !=(cputime a, cputime b);
bool operator !=(coords2 a, coords2 b);
bool operator !=(scaling a, scaling b);
bool operator !=(light a, light b);
-bool operator !=(pairOrTriple a, pairOrTriple b);
+bool operator !=(node a, node b);
bool operator !=(object a, object b);
bool operator !=(filltype a, filltype b);
bool operator !=(simplex a, simplex b);
@@ -1694,20 +1694,20 @@ bool operator !=(projection a, projection b);
bool operator !=(arrowhead a, arrowhead b);
bool operator !=(coord a, coord b);
bool operator !=(bounds a, bounds b);
-bool operator !=(Legend a, Legend b);
+bool operator !=(ScaleT a, ScaleT b);
bool operator !=(position a, position b);
bool operator !=(realschur a, realschur b);
bool operator !=(hsv a, hsv b);
bool operator !=(coords2 a, coords2 b);
-bool operator !=(picture a, picture b);
+bool operator !=(pairOrTriple a, pairOrTriple b);
bool operator !=(bool3 a, bool b);
bool operator !=(marginT a, marginT b);
-bool operator !=(autoscaleT a, autoscaleT b);
+bool operator !=(scaleT a, scaleT b);
bool operator !=(align a, align b);
bool operator !=(processtime a, processtime b);
bool operator !=(scaling a, scaling b);
bool operator !=(coord a, coord b);
-bool operator !=(node a, node b);
+bool operator !=(Legend a, Legend b);
bool operator !=(Label a, Label b);
bool operator !=(schur a, schur b);
bool operator !=(bool a, bool3 b);
@@ -2884,12 +2884,10 @@ point attract(point M, path g, real fuzz=<default>);
void Drawline(picture pic=<default>, Label L=<default>, pair P, bool dirP=<default>, pair Q, bool dirQ=<default>, align align=<default>, pen p=<default>, bool arrow(picture, path, pen, marginT(path, pen))=<default>, Label legend=<default>, marker marker=<default>, path pathModifier(path)=<default>);
bool simeq(point A, point B, real fuzz=<default>);
bool simeq(point a, real b, real fuzz=<default>);
-point inverse(real k, point A, point M);
-circle inverse(real k, point A, line l);
-circle inverse(real k, point A, circle c);
-arc inverse(real k, point A, segment s);
-inversion inversion(real k, point C);
-inversion inversion(point C, real k);
+point inverse(inversion i, point P);
+circle inverse(inversion i, line l);
+circle inverse(inversion i, circle c);
+arc inverse(inversion i, segment s);
inversion inversion(circle c1, circle c2, real sgn=<default>);
inversion inversion(circle c1, circle c2, circle c3);
inversion inversion(circle c);
@@ -3994,8 +3992,8 @@ pen PaleVioletRed;
pen Sienna;
pen CornflowerBlue;
pen LightSlateGray;
-pen DarkOrchid;
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 1fa31e09f3..9159fea176 100644
--- a/graphics/asymptote/asymptote.spec
+++ b/graphics/asymptote/asymptote.spec
@@ -3,7 +3,7 @@
%global __python %{__python3}
Name: asymptote
-Version: 2.85
+Version: 2.86
Release: 1%{?dist}
Summary: Descriptive vector graphics language
diff --git a/graphics/asymptote/base/geometry.asy b/graphics/asymptote/base/geometry.asy
index 840cb960be..bbc575898c 100644
--- a/graphics/asymptote/base/geometry.asy
+++ b/graphics/asymptote/base/geometry.asy
@@ -6354,77 +6354,74 @@ void dot(picture pic = currentpicture, triangle t, pen p = currentpen)
// *=======================================================*
// *.......................INVERSIONS......................*
-/*<asyxml><function type="point" signature="inverse(real k,point,point)"><code></asyxml>*/
-point inverse(real k, point A, point M)
-{/*<asyxml></code><documentation>Return the inverse point of 'M' with respect to point A and inversion radius 'k'.</documentation></function></asyxml>*/
- return A + k/conj(M - A);
+/*<asyxml><struct signature="inversion"><code></asyxml>*/
+struct inversion
+{/*<asyxml></code><documentation>https://mathworld.wolfram.com/Inversion.html</documentation></asyxml>*/
+ point C;
+ real k;
+
+ /*<asyxml><function type="void" signature="init(point,real)"><code></asyxml>*/
+ void operator init(point C, real k)
+ {/*<asyxml></code><documentation>Return the inversion with respect to 'C' having circle power 'k'.</documentation></function></asyxml>*/
+ this.C = C;
+ this.k = k;
+ }
+ /*<asyxml><function type="void" signature="init(real,point)"><code></asyxml>*/
+ void operator init(real k, point C)
+ {/*<asyxml></code><documentation>Return the inversion with respect to 'C' having circle power 'k'.</documentation></function></asyxml>*/
+ this.C = C;
+ this.k = k;
+ }
+}/*<asyxml></struct></asyxml>*/
+
+/*<asyxml><function type="point" signature="inverse(inversion,point)"><code></asyxml>*/
+point inverse(inversion i, point P)
+{/*<asyxml></code><documentation>Return the inverse point of 'P' with respect to 'i'.</documentation></function></asyxml>*/
+ pair C = locate(i.C), P1 = locate(P);
+ pair P2 = C + i.k / conj(P1 - C);
+ return P2 / currentcoordsys;
}
/*<asyxml><function type="point" signature="radicalcenter(circle,circle)"><code></asyxml>*/
point radicalcenter(circle c1, circle c2)
-{/*<asyxml></code><documentation><url href = "http://fr.wikipedia.org/wiki/Puissance_d'un_point_par_rapport_%C3%A0_un_cercle"/></documentation></function></asyxml>*/
- point[] P = standardizecoordsys(c1.C, c2.C);
+{/*<asyxml></code><documentation><url href="http://fr.wikipedia.org/wiki/Puissance_d'un_point_par_rapport_%C3%A0_un_cercle"/></documentation></function></asyxml>*/
real k = c1.r^2 - c2.r^2;
- pair C1 = locate(c1.C);
- pair C2 = locate(c2.C);
- pair oop = C2 - C1;
- pair K = (abs(oop) == 0) ?
+ pair C1 = locate(c1.C), C2 = locate(c2.C);
+ pair D = C2 - C1;
+ pair K = C1 == C2 ?
(infinity, infinity) :
- midpoint(C1--C2) + 0.5 * k * oop/dot(oop, oop);
- return point(P[0].coordsys, K/P[0].coordsys);
+ 0.5 * (C1 + C2 + k * D / abs2(D));
+ return K / currentcoordsys;
}
/*<asyxml><function type="line" signature="radicalline(circle,circle)"><code></asyxml>*/
line radicalline(circle c1, circle c2)
-{/*<asyxml></code><documentation><url href = "http://fr.wikipedia.org/wiki/Puissance_d'un_point_par_rapport_%C3%A0_un_cercle"/></documentation></function></asyxml>*/
+{/*<asyxml></code><documentation><url href="http://fr.wikipedia.org/wiki/Puissance_d'un_point_par_rapport_%C3%A0_un_cercle"/></documentation></function></asyxml>*/
if (c1.C == c2.C) abort("radicalline: the centers must be distinct");
return perpendicular(radicalcenter(c1, c2), line(c1.C, c2.C));
}
/*<asyxml><function type="point" signature="radicalcenter(circle,circle,circle)"><code></asyxml>*/
point radicalcenter(circle c1, circle c2, circle c3)
-{/*<asyxml></code><documentation><url href = "http://fr.wikipedia.org/wiki/Puissance_d'un_point_par_rapport_%C3%A0_un_cercle"/></documentation></function></asyxml>*/
+{/*<asyxml></code><documentation><url href="http://fr.wikipedia.org/wiki/Puissance_d'un_point_par_rapport_%C3%A0_un_cercle"/></documentation></function></asyxml>*/
return intersectionpoint(radicalline(c1, c2), radicalline(c1, c3));
}
-/*<asyxml><struct signature="inversion"><code></asyxml>*/
-struct inversion
-{/*<asyxml></code><documentation>http://mathworld.wolfram.com/Inversion.html</documentation></asyxml>*/
- point C;
- real k;
-}/*<asyxml></struct></asyxml>*/
-
-/*<asyxml><function type="inversion" signature="inversion(real,point)"><code></asyxml>*/
-inversion inversion(real k, point C)
-{/*<asyxml></code><documentation>Return the inversion with respect to 'C' having inversion radius 'k'.</documentation></function></asyxml>*/
- inversion oi;
- oi.k = k;
- oi.C = C;
- return oi;
-}
-/*<asyxml><function type="inversion" signature="inversion(real,point)"><code></asyxml>*/
-inversion inversion(point C, real k)
-{/*<asyxml></code><documentation>Return the inversion with respect to 'C' having inversion radius 'k'.</documentation></function></asyxml>*/
- return inversion(k, C);
-}
-
/*<asyxml><function type="inversion" signature="inversion(circle,circle)"><code></asyxml>*/
inversion inversion(circle c1, circle c2, real sgn = 1)
{/*<asyxml></code><documentation>Return the inversion which transforms 'c1' to
- . 'c2' and positive inversion radius if 'sgn > 0';
- . 'c2' and negative inversion radius if 'sgn < 0';
- . 'c1' and 'c2' to 'c2' if 'sgn = 0'.</documentation></function></asyxml>*/
+ • 'c2' and positive inversion radius if 'sgn > 0';
+ • 'c2' and negative inversion radius if 'sgn < 0';
+ • 'c1' and 'c2' to 'c2' if 'sgn = 0'.</documentation></function></asyxml>*/
if(sgn == 0) {
point O = radicalcenter(c1, c2);
- return inversion(O^c1, O);
- }
- else {
- point C1 = c1.C, C2 = c2.C;
- real r1 = c1.r, r2 = sgn(sgn) * c2.r;
- return inversion(
- r1 * r2 * (1 - (length(C2 - C1) / (r1 + r2))^2),
- (r2 * C1 + r1 * C2) / (r1 + r2));
+ return inversion(O, O^c1);
}
+ pair C1 = locate(c1.C), C2 = locate(c2.C);
+ real r1 = c1.r, r2 = sgn(sgn) * c2.r;
+ pair O = (r2 * C1 + r1 * C2) / (r1 + r2);
+ real k = r1 * r2 * (1 - abs2(C2 - C1) / (r1 + r2)^2);
+ return inversion(O / currentcoordsys, k);
}
/*<asyxml><function type="inversion" signature="inversion(circle,circle,circle)"><code></asyxml>*/
@@ -6434,7 +6431,10 @@ inversion inversion(circle c1, circle c2, circle c3)
return inversion(Rc, Rc^c1);
}
-circle operator cast(inversion i){return circle(i.C, sgn(i.k) * sqrt(abs(i.k)));}
+circle operator cast(inversion i)
+{
+ return circle(i.C, sgn(i.k) * sqrt(abs(i.k)));
+}
/*<asyxml><function type="circle" signature="circle(inversion)"><code></asyxml>*/
circle circle(inversion i)
{/*<asyxml></code><documentation>Return the inversion circle of 'i'.</documentation></function></asyxml>*/
@@ -6443,7 +6443,7 @@ circle circle(inversion i)
inversion operator cast(circle c)
{
- return inversion(sgn(c.r) * c.r^2, c.C);
+ return inversion(c.C, sgn(c.r) * c.r^2);
}
/*<asyxml><function type="inversion" signature="inversion(circle)"><code></asyxml>*/
inversion inversion(circle c)
@@ -6451,10 +6451,10 @@ inversion inversion(circle c)
return c;
}
-/*<asyxml><operator type = "point" signature="*(inversion,point)"><code></asyxml>*/
+/*<asyxml><operator type="point" signature="*(inversion,point)"><code></asyxml>*/
point operator *(inversion i, point P)
{/*<asyxml></code><documentation>Provide inversion * point.</documentation></operator></asyxml>*/
- return inverse(i.k, i.C, P);
+ return inverse(i, P);
}
void lineinversion()
@@ -6463,48 +6463,47 @@ void lineinversion()
The returned circle has an infinite radius, circle.l has been set.");
}
-
-/*<asyxml><function type="circle" signature="inverse(real,point,line)"><code></asyxml>*/
-circle inverse(real k, point A, line l)
-{/*<asyxml></code><documentation>Return the inverse circle of 'l' with
- respect to point 'A' and inversion radius 'k'.</documentation></function></asyxml>*/
- if(A @ l) {
+/*<asyxml><function type="circle" signature="inverse(inversion,line)"><code></asyxml>*/
+circle inverse(inversion i, line l)
+{/*<asyxml></code><documentation>Return the inverse circle of 'l' with respect to 'i'.</documentation></function></asyxml>*/
+ if(i.C @ l) {
lineinversion();
- circle C = circle(A, infinity);
- C.l = l;
- return C;
+ circle c = circle(i.C, infinity);
+ c.l = l;
+ return c;
}
- point Ap = inverse(k, A, l.A), Bp = inverse(k, A, l.B);
- return circle(A, Ap, Bp);
+ point A = inverse(i, l.A), B = inverse(i, l.B);
+ return circle(i.C, A, B);
}
-/*<asyxml><operator type = "circle" signature="*(inversion,line)"><code></asyxml>*/
+/*<asyxml><operator type="circle" signature="*(inversion,line)"><code></asyxml>*/
circle operator *(inversion i, line l)
{/*<asyxml></code><documentation>Provide inversion * line for lines that don't pass through the inversion center.</documentation></operator></asyxml>*/
- return inverse(i.k, i.C, l);
+ return inverse(i, l);
}
-/*<asyxml><function type="circle" signature="inverse(real,point,circle)"><code></asyxml>*/
-circle inverse(real k, point A, circle c)
-{/*<asyxml></code><documentation>Return the inverse circle of 'c' with
- respect to point A and inversion radius 'k'.</documentation></function></asyxml>*/
- if(degenerate(c)) return inverse(k, A, c.l);
- if(A @ c) {
+/*<asyxml><function type="circle" signature="inverse(inversion,circle)"><code></asyxml>*/
+circle inverse(inversion i, circle c)
+{/*<asyxml></code><documentation>Return the inverse circle of 'c' with respect to 'i'.</documentation></function></asyxml>*/
+ if(degenerate(c)) return inverse(i, c.l);
+ if(i.C @ c) {
lineinversion();
- point M = rotate(180, c.C) * A, Mp = rotate(90, c.C) * A;
- circle oc = circle(A, infinity);
- oc.l = line(inverse(k, A, M), inverse(k, A, Mp));
- return oc;
+ point M1 = rotate(90, c.C) * i.C, M2 = rotate(-90, c.C) * i.C;
+ circle c1 = circle(i.C, infinity);
+ c1.l = line(inverse(i, M1), inverse(i, M2));
+ return c1;
}
- point[] P = standardizecoordsys(A, c.C);
- real s = k/((P[1].x - P[0].x)^2 + (P[1].y - P[0].y)^2 - c.r^2);
- return circle(P[0] + s * (P[1]-P[0]), abs(s) * c.r);
+ pair C1 = locate(i.C), C2 = locate(c.C);
+ pair D = C2 - C1;
+ real s = i.k / (abs2(D) - c.r^2);
+ pair C3 = C1 + s * D;
+ return circle((point)(C3 / currentcoordsys), abs(s) * c.r);
}
-/*<asyxml><operator type = "circle" signature="*(inversion,circle)"><code></asyxml>*/
+/*<asyxml><operator type="circle" signature="*(inversion,circle)"><code></asyxml>*/
circle operator *(inversion i, circle c)
{/*<asyxml></code><documentation>Provide inversion * circle.</documentation></operator></asyxml>*/
- return inverse(i.k, i.C, c);
+ return inverse(i, c);
}
// *.......................INVERSIONS......................*
// *=======================================================*
@@ -7151,20 +7150,20 @@ arc arc(explicit arc a, point M, point N)
return arc(a, relabscissa(a, M), relabscissa(a, N));
}
-/*<asyxml><function type="arc" signature="inverse(real,point,segment)"><code></asyxml>*/
-arc inverse(real k, point A, segment s)
+/*<asyxml><function type="arc" signature="inverse(inversion,segment)"><code></asyxml>*/
+arc inverse(inversion i, segment s)
{/*<asyxml></code><documentation>Return the inverse arc circle of 's'
- with respect to point A and inversion radius 'k'.</documentation></function></asyxml>*/
- point Ap = inverse(k, A, s.A), Bp = inverse(k, A, s.B),
- M = inverse(k, A, midpoint(s));
+ with respect to inversion 'i'.</documentation></function></asyxml>*/
+ point Ap = inverse(i, s.A), Bp = inverse(i, s.B),
+ M = inverse(i, midpoint(s));
return arccircle(Ap, M, Bp);
}
-/*<asyxml><operator type = "arc" signature="*(inversion,segment)"><code></asyxml>*/
+/*<asyxml><operator type="arc" signature="*(inversion,segment)"><code></asyxml>*/
arc operator *(inversion i, segment s)
{/*<asyxml></code><documentation>Provide
inversion * segment.</documentation></operator></asyxml>*/
- return inverse(i.k, i.C, s);
+ return inverse(i, s);
}
/*<asyxml><operator type = "path" signature="*(inversion,triangle)"><code></asyxml>*/
diff --git a/graphics/asymptote/base/plain.asy b/graphics/asymptote/base/plain.asy
index 084fedd758..5c781e1a9b 100644
--- a/graphics/asymptote/base/plain.asy
+++ b/graphics/asymptote/base/plain.asy
@@ -267,8 +267,8 @@ cputime cputime()
real[] a=_cputime();
cputime cputime;
real clock=a[4];
- cputime.parent.user=a[0];
- cputime.parent.system=a[1];
+ cputime.parent.user=a[0]; // Includes system time
+ cputime.parent.system=0;
cputime.parent.clock=clock;
cputime.child.user=a[2];
cputime.child.system=a[3];
diff --git a/graphics/asymptote/base/shaders/fragment.glsl b/graphics/asymptote/base/shaders/fragment.glsl
index 6f42f7d491..0d16585511 100644
--- a/graphics/asymptote/base/shaders/fragment.glsl
+++ b/graphics/asymptote/base/shaders/fragment.glsl
@@ -220,7 +220,7 @@ void main()
#endif
}
#else
- m=Materials[int(materialIndex)];
+ m=Materials[materialIndex];
emissive=m.emissive;
#ifdef COLOR
diffuse=Color;
diff --git a/graphics/asymptote/base/three_surface.asy b/graphics/asymptote/base/three_surface.asy
index 68f13c5782..c54b0cc490 100644
--- a/graphics/asymptote/base/three_surface.asy
+++ b/graphics/asymptote/base/three_surface.asy
@@ -742,7 +742,21 @@ path[] regularize(path p, bool checkboundary=true)
}
typedef void drawfcn(frame f, transform3 t=identity4, material[] m,
- light light=currentlight, render render=defaultrender);
+ light light=currentlight, render render=defaultrender);
+typedef bool primitivefcn(transform3 t);
+
+bool unscaled(transform3 t, triple v, triple w) {
+ return abs(length(t*v)-length(t*w)) < sqrtEpsilon;
+}
+
+struct primitive {
+ drawfcn draw;
+ primitivefcn valid;
+ void operator init(drawfcn draw, primitivefcn valid) {
+ this.draw=draw;
+ this.valid=valid;
+ }
+}
struct surface {
patch[] s;
@@ -750,7 +764,7 @@ struct surface {
bool vcyclic;
transform3 T=identity4;
- drawfcn draw;
+ primitive primitive=null;
bool PRCprimitive=true; // True unless no PRC primitive is available.
bool empty() {
@@ -1050,7 +1064,7 @@ surface operator * (transform3 t, surface s)
S.index=copy(s.index);
S.vcyclic=(bool) s.vcyclic;
S.T=t*s.T;
- S.draw=s.draw;
+ S.primitive=s.primitive;
S.PRCprimitive=s.PRCprimitive;
return S;
@@ -1564,7 +1578,8 @@ void draw(transform t=identity(), frame f, surface s, int nu=1, int nv=1,
bool is3D=is3D();
if(is3D) {
bool prc=prc();
- if(s.draw != null && (primitive() || (prc && s.PRCprimitive))) {
+ if(s.primitive != null && (primitive() || (prc && s.PRCprimitive)) &&
+ s.primitive.valid(shiftless(s.T))) {
bool noprerender=settings.prerender == 0;
for(int k=0; k < s.s.length; ++k) {
patch p=s.s[k];
@@ -1572,7 +1587,7 @@ void draw(transform t=identity(), frame f, surface s, int nu=1, int nv=1,
if(p.colors.length > 0) noprerender=false;
}
if(noprerender)
- s.draw(f,s.T,surfacepen,light,render);
+ s.primitive.draw(f,s.T,surfacepen,light,render);
} else {
bool group=name != "" || render.defaultnames;
if(group)
@@ -2144,24 +2159,27 @@ restricted surface unithemisphere=surface(octant1,t1*octant1,t2*octant1,
restricted surface unitsphere=surface(octant1,t1*octant1,t2*octant1,t3*octant1,
i*octant1,i*t1*octant1,i*t2*octant1,
i*t3*octant1);
-
-unitsphere.draw=
+unitsphere.primitive=primitive(
new void(frame f, transform3 t=identity4, material[] m,
light light=currentlight, render render=defaultrender)
{
material m=material(m[0],light);
drawSphere(f,t,half=false,m.p,m.opacity,m.shininess,m.metallic,m.fresnel0,
render.sphere);
- };
+ },new bool(transform3 t) {
+ return unscaled(t,X,Y) && unscaled(t,Y,Z);
+ });
-unithemisphere.draw=
+unithemisphere.primitive=primitive(
new void(frame f, transform3 t=identity4, material[] m,
light light=currentlight, render render=defaultrender)
{
material m=material(m[0],light);
drawSphere(f,t,half=true,m.p,m.opacity,m.shininess,m.metallic,m.fresnel0,
render.sphere);
- };
+ },new bool(transform3 t) {
+ return unscaled(t,X,Y) && unscaled(t,Y,Z);
+ });
restricted patch unitfrustum1(real ta, real tb)
{
@@ -2200,7 +2218,10 @@ drawfcn unitcylinderDraw(bool core) {
};
}
-unitcylinder.draw=unitcylinderDraw(false);
+unitcylinder.primitive=primitive(unitcylinderDraw(false),
+ new bool(transform3 t) {
+ return unscaled(t,X,Y);
+ });
private patch unitplane=patch(new triple[] {O,X,X+Y,Y});
restricted surface unitcube=surface(reverse(unitplane),
@@ -2212,13 +2233,16 @@ restricted surface unitcube=surface(reverse(unitplane),
restricted surface unitplane=surface(unitplane);
restricted surface unitdisk=surface(unitcircle3);
-unitdisk.draw=
+unitdisk.primitive=primitive(
new void(frame f, transform3 t=identity4, material[] m,
light light=currentlight, render render=defaultrender)
{
material m=material(m[0],light);
drawDisk(f,t,m.p,m.opacity,m.shininess,m.metallic,m.fresnel0);
- };
+ },
+ new bool(transform3 t) {
+ return unscaled(t,X,Y);
+ });
void dot(frame f, triple v, material p=currentpen,
light light=nolight, string name="",
diff --git a/graphics/asymptote/base/three_tube.asy b/graphics/asymptote/base/three_tube.asy
index 5c22f4d29b..87cba0ab9c 100644
--- a/graphics/asymptote/base/three_tube.asy
+++ b/graphics/asymptote/base/three_tube.asy
@@ -136,7 +136,10 @@ surface tube(triple z0, triple c0, triple c1, triple z1, real w)
f(t3);
s.PRCprimitive=false;
- s.draw=drawTube(g,w,min(s),max(s));
+ s.primitive=primitive(drawTube(g,w,min(s),max(s)),
+ new bool(transform3 t) {
+ return unscaled(t,X,Y);
+ });
return s;
}
@@ -213,7 +216,10 @@ struct tube
transform3 t=shift(v)*align(unit(u))*scale(r,r,abs(u));
// Draw opaque surfaces with core for better small-scale rendering.
surface unittube=t*unitcylinder;
- unittube.draw=unitcylinderDraw(core=true);
+ unittube.primitive=primitive(unitcylinderDraw(core=true),
+ new bool(transform3 t) {
+ return unscaled(t,X,Y);
+ });
s.push(unittube);
} else
s.append(render(subpath(p,i,i+1),r));
diff --git a/graphics/asymptote/base/v3d.asy b/graphics/asymptote/base/v3d.asy
index 5bdd0627d5..d62ec0b110 100644
--- a/graphics/asymptote/base/v3d.asy
+++ b/graphics/asymptote/base/v3d.asy
@@ -321,7 +321,7 @@ struct v3dfile
int material=xdrfile;
surface s=shift(origin)*scale3(radius)*unitsphere;
- s.draw=unitsphere.draw;
+ s.primitive=unitsphere.primitive;
primitive(center,material,s);
}
@@ -336,7 +336,7 @@ struct v3dfile
real azimuth=xdrfile;
surface s=shift(origin)*Align(polar,azimuth)*scale3(radius)*unithemisphere;
- s.draw=unithemisphere.draw;
+ s.primitive=unithemisphere.primitive;
primitive(center,material,s);
}
@@ -351,7 +351,7 @@ struct v3dfile
real azimuth=xdrfile;
surface s=shift(origin)*Align(polar,azimuth)*scale3(radius)*unitdisk;
- s.draw=unitdisk.draw;
+ s.primitive=unitdisk.primitive;
primitive(center,material,s);
}
@@ -396,7 +396,7 @@ struct v3dfile
path3(center,material,T*(O--Z));
surface s=T*unitcylinder;
- s.draw=unitcylinder.draw;
+ s.primitive=unitcylinder.primitive;
primitive(center,material,s);
}
@@ -414,7 +414,10 @@ struct v3dfile
path3(center,material,g[0]..controls g[1] and g[2]..g[3]);
surface s=tube(g[0],g[1],g[2],g[3],width);
- s.draw=drawTube(g,width,info.b,info.B);
+ s.primitive=primitive(drawTube(g,width,info.b,info.B),
+ new bool(transform3 t) {
+ return unscaled(t,X,Y);
+ });
primitive(center,material,s);
}
diff --git a/graphics/asymptote/base/v3dheadertypes.asy b/graphics/asymptote/base/v3dheadertypes.asy
index 5a5cd8c99d..940ff8aad6 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 2023-02-09 04:54:07
+// Generated at 2023-06-07 02:00:19
struct v3dheadertypes
{
diff --git a/graphics/asymptote/base/v3dtypes.asy b/graphics/asymptote/base/v3dtypes.asy
index 85def47680..82d3dc6262 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 2023-02-09 04:54:07
+// Generated at 2023-06-07 02:00:19
struct v3dtypes
{
diff --git a/graphics/asymptote/build-scripts/HOWTO-MSWindows b/graphics/asymptote/build-scripts/HOWTO-MSWindows
index 296cc23dd1..3539efa60a 100644
--- a/graphics/asymptote/build-scripts/HOWTO-MSWindows
+++ b/graphics/asymptote/build-scripts/HOWTO-MSWindows
@@ -20,7 +20,7 @@ make install
readline-devel:
./configure --prefix=/usr --without-curses --disable-shared
-make install
+make install LOCAL_CFLAGS=-DNEED_EXTERN_PC
fftw3-devel:
./configure --prefix=/usr --disable-shared
diff --git a/graphics/asymptote/build-scripts/build-asymptote b/graphics/asymptote/build-scripts/build-asymptote
index ad95a8e0d5..a7c4513675 100755
--- a/graphics/asymptote/build-scripts/build-asymptote
+++ b/graphics/asymptote/build-scripts/build-asymptote
@@ -3,7 +3,7 @@
HOME=~bowman
SHARED=$HOME/shared/asy
-GCVERSION=8.2.0
+GCVERSION=8.2.4
ATOMICVERSION=7.6.12
GC=gc-$GCVERSION
@@ -34,7 +34,7 @@ wget https://github.com/ivmai/bdwgc/releases/download/v$GCVERSION/gc-$GCVERSION.
wget https://github.com/ivmai/libatomic_ops/releases/download/v$ATOMICVERSION/libatomic_ops-$ATOMICVERSION.tar.gz
cp /usr/local/src/$GC.tar.gz asymptote-$VERSION
cp /usr/local/src/libatomic_ops-$ATOMICVERSION.tar.gz asymptote-$VERSION
-chown -R root.root asymptote-$VERSION
+chown -R root:root asymptote-$VERSION
cd asymptote-$VERSION
find . -name ".[^.]*" -exec rm -rf {} \;
./autogen.sh
diff --git a/graphics/asymptote/common.h b/graphics/asymptote/common.h
index 50f397c7e3..13f8be106e 100644
--- a/graphics/asymptote/common.h
+++ b/graphics/asymptote/common.h
@@ -18,15 +18,27 @@
#endif
#ifdef HAVE_LSP
+#if __cplusplus < 201703L
#include <boost/optional.hpp>
#include <boost/none.hpp>
using boost::optional;
+#define nullopt boost::none
using boost::make_optional;
#else
+#include <optional>
+using std::optional;
+using std::nullopt;
+using std::make_optional;
+#endif
+
+#else
+#if __cplusplus < 201703L
#include "optional.hpp"
#define boost nonstd
using nonstd::optional;
using nonstd::nullopt;
+using nonstd::make_optional;
+#endif
#endif
using std::make_pair;
diff --git a/graphics/asymptote/config.guess b/graphics/asymptote/config.guess
index 5fbea7aced..c7f17e8fb9 100755
--- a/graphics/asymptote/config.guess
+++ b/graphics/asymptote/config.guess
@@ -1,12 +1,14 @@
-#! /bin/sh
+#!/usr/bin/sh
# Attempt to guess a canonical system name.
-# Copyright 1992-2018 Free Software Foundation, Inc.
+# Copyright 1992-2022 Free Software Foundation, Inc.
-timestamp='2018-03-08'
+# shellcheck disable=SC2006,SC2268 # see below for rationale
+
+timestamp='2022-05-25'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -27,11 +29,19 @@ timestamp='2018-03-08'
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
#
# You can get the latest version of this script from:
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
#
# Please send patches to <config-patches@gnu.org>.
+# The "shellcheck disable" line above the timestamp inhibits complaints
+# about features and limitations of the classic Bourne shell that were
+# superseded or lifted in POSIX. However, this script identifies a wide
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
+# even some reasonably current systems (Solaris 10 as case-in-point) still
+# have a pre-POSIX /bin/sh.
+
+
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
@@ -50,7 +60,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright 1992-2018 Free Software Foundation, Inc.
+Copyright 1992-2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -84,7 +94,8 @@ if test $# != 0; then
exit 1
fi
-trap 'exit 1' 1 2 15
+# Just in case it came from the environment.
+GUESS=
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
@@ -96,73 +107,90 @@ trap 'exit 1' 1 2 15
# Portable tmp directory creation inspired by the Autoconf team.
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,) echo "int x;" > "$dummy.c" ;
- for c in cc gcc c89 c99 ; do
- if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
- CC_FOR_BUILD="$c"; break ;
- fi ;
- done ;
- if test x"$CC_FOR_BUILD" = x ; then
- CC_FOR_BUILD=no_compiler_found ;
- fi
- ;;
- ,,*) CC_FOR_BUILD=$CC ;;
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
+
+set_cc_for_build() {
+ # prevent multiple calls if $tmp is already set
+ test "$tmp" && return 0
+ : "${TMPDIR=/tmp}"
+ # shellcheck disable=SC2039,SC3028
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+ dummy=$tmp/dummy
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+ ,,) echo "int x;" > "$dummy.c"
+ for driver in cc gcc c89 c99 ; do
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+ CC_FOR_BUILD=$driver
+ break
+ fi
+ done
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+ esac
+}
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+if test -f /.attbin/uname ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-case "$UNAME_SYSTEM" in
+case $UNAME_SYSTEM in
Linux|GNU|GNU/*)
- # If the system lacks a compiler, then just pick glibc.
- # We could probably try harder.
- LIBC=gnu
+ LIBC=unknown
- eval "$set_cc_for_build"
+ set_cc_for_build
cat <<-EOF > "$dummy.c"
#include <features.h>
#if defined(__UCLIBC__)
LIBC=uclibc
#elif defined(__dietlibc__)
LIBC=dietlibc
- #else
+ #elif defined(__GLIBC__)
LIBC=gnu
+ #else
+ #include <stdarg.h>
+ /* First heuristic to detect musl libc. */
+ #ifdef __DEFINED_va_list
+ LIBC=musl
+ #endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+ cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+ eval "$cc_set_libc"
+
+ # Second heuristic to detect musl libc.
+ if [ "$LIBC" = unknown ] &&
+ command -v ldd >/dev/null &&
+ ldd --version 2>&1 | grep -q ^musl; then
+ LIBC=musl
+ fi
- # If ldd exists, use it to detect musl libc.
- if command -v ldd >/dev/null && \
- ldd --version 2>&1 | grep -q ^musl
- then
- LIBC=musl
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ if [ "$LIBC" = unknown ]; then
+ LIBC=gnu
fi
;;
esac
# Note: order is significant - the case branches are not exclusive.
-case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
+case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
@@ -174,12 +202,12 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
- sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
- "/sbin/$sysctl" 2>/dev/null || \
- "/usr/sbin/$sysctl" 2>/dev/null || \
+ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
echo unknown)`
- case "$UNAME_MACHINE_ARCH" in
+ case $UNAME_MACHINE_ARCH in
+ aarch64eb) machine=aarch64_be-unknown ;;
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
@@ -188,18 +216,18 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
earmv*)
arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
- machine="${arch}${endian}"-unknown
+ machine=${arch}${endian}-unknown
;;
- *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
+ *) machine=$UNAME_MACHINE_ARCH-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently (or will in the future) and ABI.
- case "$UNAME_MACHINE_ARCH" in
+ case $UNAME_MACHINE_ARCH in
earm*)
os=netbsdelf
;;
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
- eval "$set_cc_for_build"
+ set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
@@ -215,7 +243,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
;;
esac
# Determine ABI tags.
- case "$UNAME_MACHINE_ARCH" in
+ case $UNAME_MACHINE_ARCH in
earm*)
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
@@ -226,7 +254,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
- case "$UNAME_VERSION" in
+ case $UNAME_VERSION in
Debian*)
release='-gnu'
;;
@@ -237,45 +265,57 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
- echo "$machine-${os}${release}${abi}"
- exit ;;
+ GUESS=$machine-${os}${release}${abi-}
+ ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
- echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
+ ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
- echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
+ ;;
+ *:SecBSD:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
+ GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
+ ;;
*:LibertyBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
- echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
+ ;;
*:MidnightBSD:*:*)
- echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
+ ;;
*:ekkoBSD:*:*)
- echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
+ ;;
*:SolidBSD:*:*)
- echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
+ ;;
+ *:OS108:*:*)
+ GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
+ ;;
macppc:MirBSD:*:*)
- echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
- exit ;;
+ GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
+ ;;
*:MirBSD:*:*)
- echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
+ ;;
*:Sortix:*:*)
- echo "$UNAME_MACHINE"-unknown-sortix
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-sortix
+ ;;
+ *:Twizzler:*:*)
+ GUESS=$UNAME_MACHINE-unknown-twizzler
+ ;;
*:Redox:*:*)
- echo "$UNAME_MACHINE"-unknown-redox
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-redox
+ ;;
mips:OSF1:*.*)
- echo mips-dec-osf1
- exit ;;
+ GUESS=mips-dec-osf1
+ ;;
alpha:OSF1:*:*)
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+ trap '' 0
case $UNAME_RELEASE in
*4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
@@ -289,7 +329,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
- case "$ALPHA_CPU_TYPE" in
+ case $ALPHA_CPU_TYPE in
"EV4 (21064)")
UNAME_MACHINE=alpha ;;
"EV4.5 (21064)")
@@ -326,117 +366,121 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
- exitcode=$?
- trap '' 0
- exit $exitcode ;;
+ OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
+ GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
+ ;;
Amiga*:UNIX_System_V:4.0:*)
- echo m68k-unknown-sysv4
- exit ;;
+ GUESS=m68k-unknown-sysv4
+ ;;
*:[Aa]miga[Oo][Ss]:*:*)
- echo "$UNAME_MACHINE"-unknown-amigaos
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-amigaos
+ ;;
*:[Mm]orph[Oo][Ss]:*:*)
- echo "$UNAME_MACHINE"-unknown-morphos
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-morphos
+ ;;
*:OS/390:*:*)
- echo i370-ibm-openedition
- exit ;;
+ GUESS=i370-ibm-openedition
+ ;;
*:z/VM:*:*)
- echo s390-ibm-zvmoe
- exit ;;
+ GUESS=s390-ibm-zvmoe
+ ;;
*:OS400:*:*)
- echo powerpc-ibm-os400
- exit ;;
+ GUESS=powerpc-ibm-os400
+ ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
- echo arm-acorn-riscix"$UNAME_RELEASE"
- exit ;;
+ GUESS=arm-acorn-riscix$UNAME_RELEASE
+ ;;
arm*:riscos:*:*|arm*:RISCOS:*:*)
- echo arm-unknown-riscos
- exit ;;
+ GUESS=arm-unknown-riscos
+ ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
- echo hppa1.1-hitachi-hiuxmpp
- exit ;;
+ GUESS=hppa1.1-hitachi-hiuxmpp
+ ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
- echo pyramid-pyramid-sysv3
- else
- echo pyramid-pyramid-bsd
- fi
- exit ;;
+ case `(/bin/universe) 2>/dev/null` in
+ att) GUESS=pyramid-pyramid-sysv3 ;;
+ *) GUESS=pyramid-pyramid-bsd ;;
+ esac
+ ;;
NILE*:*:*:dcosx)
- echo pyramid-pyramid-svr4
- exit ;;
+ GUESS=pyramid-pyramid-svr4
+ ;;
DRS?6000:unix:4.0:6*)
- echo sparc-icl-nx6
- exit ;;
+ GUESS=sparc-icl-nx6
+ ;;
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
- sparc) echo sparc-icl-nx7; exit ;;
- esac ;;
+ sparc) GUESS=sparc-icl-nx7 ;;
+ esac
+ ;;
s390x:SunOS:*:*)
- echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
+ ;;
sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-hal-solaris2$SUN_REL
+ ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-sun-solaris2$SUN_REL
+ ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
- echo i386-pc-auroraux"$UNAME_RELEASE"
- exit ;;
+ GUESS=i386-pc-auroraux$UNAME_RELEASE
+ ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
SUN_ARCH=i386
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
SUN_ARCH=x86_64
fi
fi
- echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
+ ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=sparc-sun-solaris3$SUN_REL
+ ;;
sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
+ case `/usr/bin/arch -k` in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
+ GUESS=sparc-sun-sunos$SUN_REL
+ ;;
sun3*:SunOS:*:*)
- echo m68k-sun-sunos"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
+ ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
- case "`/bin/arch`" in
+ case `/bin/arch` in
sun3)
- echo m68k-sun-sunos"$UNAME_RELEASE"
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
;;
sun4)
- echo sparc-sun-sunos"$UNAME_RELEASE"
+ GUESS=sparc-sun-sunos$UNAME_RELEASE
;;
esac
- exit ;;
+ ;;
aushp:SunOS:*:*)
- echo sparc-auspex-sunos"$UNAME_RELEASE"
- exit ;;
+ GUESS=sparc-auspex-sunos$UNAME_RELEASE
+ ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
@@ -446,43 +490,43 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
- echo m68k-atari-mint"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-atari-mint$UNAME_RELEASE
+ ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-milan-mint$UNAME_RELEASE
+ ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-hades-mint$UNAME_RELEASE
+ ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-unknown-mint$UNAME_RELEASE
+ ;;
m68k:machten:*:*)
- echo m68k-apple-machten"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-apple-machten$UNAME_RELEASE
+ ;;
powerpc:machten:*:*)
- echo powerpc-apple-machten"$UNAME_RELEASE"
- exit ;;
+ GUESS=powerpc-apple-machten$UNAME_RELEASE
+ ;;
RISC*:Mach:*:*)
- echo mips-dec-mach_bsd4.3
- exit ;;
+ GUESS=mips-dec-mach_bsd4.3
+ ;;
RISC*:ULTRIX:*:*)
- echo mips-dec-ultrix"$UNAME_RELEASE"
- exit ;;
+ GUESS=mips-dec-ultrix$UNAME_RELEASE
+ ;;
VAX*:ULTRIX*:*:*)
- echo vax-dec-ultrix"$UNAME_RELEASE"
- exit ;;
+ GUESS=vax-dec-ultrix$UNAME_RELEASE
+ ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
- echo clipper-intergraph-clix"$UNAME_RELEASE"
- exit ;;
+ GUESS=clipper-intergraph-clix$UNAME_RELEASE
+ ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#ifdef __cplusplus
#include <stdio.h> /* for printf() prototype */
@@ -508,78 +552,79 @@ EOF
dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
{ echo "$SYSTEM_NAME"; exit; }
- echo mips-mips-riscos"$UNAME_RELEASE"
- exit ;;
+ GUESS=mips-mips-riscos$UNAME_RELEASE
+ ;;
Motorola:PowerMAX_OS:*:*)
- echo powerpc-motorola-powermax
- exit ;;
+ GUESS=powerpc-motorola-powermax
+ ;;
Motorola:*:4.3:PL8-*)
- echo powerpc-harris-powermax
- exit ;;
+ GUESS=powerpc-harris-powermax
+ ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
- echo powerpc-harris-powermax
- exit ;;
+ GUESS=powerpc-harris-powermax
+ ;;
Night_Hawk:Power_UNIX:*:*)
- echo powerpc-harris-powerunix
- exit ;;
+ GUESS=powerpc-harris-powerunix
+ ;;
m88k:CX/UX:7*:*)
- echo m88k-harris-cxux7
- exit ;;
+ GUESS=m88k-harris-cxux7
+ ;;
m88k:*:4*:R4*)
- echo m88k-motorola-sysv4
- exit ;;
+ GUESS=m88k-motorola-sysv4
+ ;;
m88k:*:3*:R3*)
- echo m88k-motorola-sysv3
- exit ;;
+ GUESS=m88k-motorola-sysv3
+ ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
- if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
+ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
then
- if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
- [ "$TARGET_BINARY_INTERFACE"x = x ]
+ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
+ test "$TARGET_BINARY_INTERFACE"x = x
then
- echo m88k-dg-dgux"$UNAME_RELEASE"
+ GUESS=m88k-dg-dgux$UNAME_RELEASE
else
- echo m88k-dg-dguxbcs"$UNAME_RELEASE"
+ GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
fi
else
- echo i586-dg-dgux"$UNAME_RELEASE"
+ GUESS=i586-dg-dgux$UNAME_RELEASE
fi
- exit ;;
+ ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
- echo m88k-dolphin-sysv3
- exit ;;
+ GUESS=m88k-dolphin-sysv3
+ ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
- echo m88k-motorola-sysv3
- exit ;;
+ GUESS=m88k-motorola-sysv3
+ ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
- echo m88k-tektronix-sysv3
- exit ;;
+ GUESS=m88k-tektronix-sysv3
+ ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
- echo m68k-tektronix-bsd
- exit ;;
+ GUESS=m68k-tektronix-bsd
+ ;;
*:IRIX*:*:*)
- echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
- exit ;;
+ IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
+ GUESS=mips-sgi-irix$IRIX_REL
+ ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
- echo i386-ibm-aix
- exit ;;
+ GUESS=i386-ibm-aix
+ ;;
ia64:AIX:*:*)
- if [ -x /usr/bin/oslevel ] ; then
+ if test -x /usr/bin/oslevel ; then
IBM_REV=`/usr/bin/oslevel`
else
- IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
fi
- echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
- exit ;;
+ GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
+ ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#include <sys/systemcfg.h>
@@ -593,16 +638,16 @@ EOF
EOF
if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
then
- echo "$SYSTEM_NAME"
+ GUESS=$SYSTEM_NAME
else
- echo rs6000-ibm-aix3.2.5
+ GUESS=rs6000-ibm-aix3.2.5
fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
- echo rs6000-ibm-aix3.2.4
+ GUESS=rs6000-ibm-aix3.2.4
else
- echo rs6000-ibm-aix3.2
+ GUESS=rs6000-ibm-aix3.2
fi
- exit ;;
+ ;;
*:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
@@ -610,57 +655,57 @@ EOF
else
IBM_ARCH=powerpc
fi
- if [ -x /usr/bin/lslpp ] ; then
- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
+ if test -x /usr/bin/lslpp ; then
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
else
- IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
fi
- echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
- exit ;;
+ GUESS=$IBM_ARCH-ibm-aix$IBM_REV
+ ;;
*:AIX:*:*)
- echo rs6000-ibm-aix
- exit ;;
+ GUESS=rs6000-ibm-aix
+ ;;
ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
- echo romp-ibm-bsd4.4
- exit ;;
+ GUESS=romp-ibm-bsd4.4
+ ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
- echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
- exit ;; # report: romp-ibm BSD 4.3
+ GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to
+ ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
- echo rs6000-bull-bosx
- exit ;;
+ GUESS=rs6000-bull-bosx
+ ;;
DPX/2?00:B.O.S.:*:*)
- echo m68k-bull-sysv3
- exit ;;
+ GUESS=m68k-bull-sysv3
+ ;;
9000/[34]??:4.3bsd:1.*:*)
- echo m68k-hp-bsd
- exit ;;
+ GUESS=m68k-hp-bsd
+ ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
- echo m68k-hp-bsd4.4
- exit ;;
+ GUESS=m68k-hp-bsd4.4
+ ;;
9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
- case "$UNAME_MACHINE" in
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+ case $UNAME_MACHINE in
9000/31?) HP_ARCH=m68000 ;;
9000/[34]??) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
- if [ -x /usr/bin/getconf ]; then
+ if test -x /usr/bin/getconf; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
- case "$sc_cpu_version" in
+ case $sc_cpu_version in
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
- case "$sc_kernel_bits" in
+ case $sc_kernel_bits in
32) HP_ARCH=hppa2.0n ;;
64) HP_ARCH=hppa2.0w ;;
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
esac ;;
esac
fi
- if [ "$HP_ARCH" = "" ]; then
- eval "$set_cc_for_build"
+ if test "$HP_ARCH" = ""; then
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#define _HPUX_SOURCE
@@ -698,9 +743,9 @@ EOF
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
- if [ "$HP_ARCH" = hppa2.0w ]
+ if test "$HP_ARCH" = hppa2.0w
then
- eval "$set_cc_for_build"
+ set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
@@ -719,14 +764,14 @@ EOF
HP_ARCH=hppa64
fi
fi
- echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
- exit ;;
+ GUESS=$HP_ARCH-hp-hpux$HPUX_REV
+ ;;
ia64:HP-UX:*:*)
- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
- echo ia64-hp-hpux"$HPUX_REV"
- exit ;;
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
+ GUESS=ia64-hp-hpux$HPUX_REV
+ ;;
3050*:HI-UX:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
sed 's/^ //' << EOF > "$dummy.c"
#include <unistd.h>
int
@@ -754,36 +799,36 @@ EOF
EOF
$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
{ echo "$SYSTEM_NAME"; exit; }
- echo unknown-hitachi-hiuxwe2
- exit ;;
+ GUESS=unknown-hitachi-hiuxwe2
+ ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
- echo hppa1.1-hp-bsd
- exit ;;
+ GUESS=hppa1.1-hp-bsd
+ ;;
9000/8??:4.3bsd:*:*)
- echo hppa1.0-hp-bsd
- exit ;;
+ GUESS=hppa1.0-hp-bsd
+ ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
- echo hppa1.0-hp-mpeix
- exit ;;
+ GUESS=hppa1.0-hp-mpeix
+ ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
- echo hppa1.1-hp-osf
- exit ;;
+ GUESS=hppa1.1-hp-osf
+ ;;
hp8??:OSF1:*:*)
- echo hppa1.0-hp-osf
- exit ;;
+ GUESS=hppa1.0-hp-osf
+ ;;
i*86:OSF1:*:*)
- if [ -x /usr/sbin/sysversion ] ; then
- echo "$UNAME_MACHINE"-unknown-osf1mk
+ if test -x /usr/sbin/sysversion ; then
+ GUESS=$UNAME_MACHINE-unknown-osf1mk
else
- echo "$UNAME_MACHINE"-unknown-osf1
+ GUESS=$UNAME_MACHINE-unknown-osf1
fi
- exit ;;
+ ;;
parisc*:Lites*:*:*)
- echo hppa1.1-hp-lites
- exit ;;
+ GUESS=hppa1.1-hp-lites
+ ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
- echo c1-convex-bsd
- exit ;;
+ GUESS=c1-convex-bsd
+ ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
@@ -791,17 +836,18 @@ EOF
fi
exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
- echo c34-convex-bsd
- exit ;;
+ GUESS=c34-convex-bsd
+ ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
- echo c38-convex-bsd
- exit ;;
+ GUESS=c38-convex-bsd
+ ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
- echo c4-convex-bsd
- exit ;;
+ GUESS=c4-convex-bsd
+ ;;
CRAY*Y-MP:*:*:*)
- echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=ymp-cray-unicos$CRAY_REL
+ ;;
CRAY*[A-Z]90:*:*:*)
echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
@@ -809,103 +855,129 @@ EOF
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
- echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=t90-cray-unicos$CRAY_REL
+ ;;
CRAY*T3E:*:*:*)
- echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=alphaev5-cray-unicosmk$CRAY_REL
+ ;;
CRAY*SV1:*:*:*)
- echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=sv1-cray-unicos$CRAY_REL
+ ;;
*:UNICOS/mp:*:*)
- echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
- exit ;;
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
+ GUESS=craynv-cray-unicosmp$CRAY_REL
+ ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+ ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
- exit ;;
+ GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
+ ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
- echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
+ ;;
sparc*:BSD/OS:*:*)
- echo sparc-unknown-bsdi"$UNAME_RELEASE"
- exit ;;
+ GUESS=sparc-unknown-bsdi$UNAME_RELEASE
+ ;;
*:BSD/OS:*:*)
- echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
+ ;;
+ arm:FreeBSD:*:*)
+ UNAME_PROCESSOR=`uname -p`
+ set_cc_for_build
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep -q __ARM_PCS_VFP
+ then
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
+ else
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
+ fi
+ ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
- case "$UNAME_PROCESSOR" in
+ case $UNAME_PROCESSOR in
amd64)
UNAME_PROCESSOR=x86_64 ;;
i386)
UNAME_PROCESSOR=i586 ;;
esac
- echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
- exit ;;
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
+ ;;
i*:CYGWIN*:*)
- echo "$UNAME_MACHINE"-pc-cygwin
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-cygwin
+ ;;
*:MINGW64*:*)
- echo "$UNAME_MACHINE"-pc-mingw64
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-mingw64
+ ;;
*:MINGW*:*)
- echo "$UNAME_MACHINE"-pc-mingw32
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-mingw32
+ ;;
*:MSYS*:*)
- echo "$UNAME_MACHINE"-pc-msys
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-msys
+ ;;
i*:PW*:*)
- echo "$UNAME_MACHINE"-pc-pw32
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-pw32
+ ;;
+ *:SerenityOS:*:*)
+ GUESS=$UNAME_MACHINE-pc-serenity
+ ;;
*:Interix*:*)
- case "$UNAME_MACHINE" in
+ case $UNAME_MACHINE in
x86)
- echo i586-pc-interix"$UNAME_RELEASE"
- exit ;;
+ GUESS=i586-pc-interix$UNAME_RELEASE
+ ;;
authenticamd | genuineintel | EM64T)
- echo x86_64-unknown-interix"$UNAME_RELEASE"
- exit ;;
+ GUESS=x86_64-unknown-interix$UNAME_RELEASE
+ ;;
IA64)
- echo ia64-unknown-interix"$UNAME_RELEASE"
- exit ;;
+ GUESS=ia64-unknown-interix$UNAME_RELEASE
+ ;;
esac ;;
i*:UWIN*:*)
- echo "$UNAME_MACHINE"-pc-uwin
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-uwin
+ ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
- echo x86_64-unknown-cygwin
- exit ;;
+ GUESS=x86_64-pc-cygwin
+ ;;
prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
- exit ;;
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
+ GUESS=powerpcle-unknown-solaris2$SUN_REL
+ ;;
*:GNU:*:*)
# the GNU system
- echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
- exit ;;
+ GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
+ GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
+ ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
- exit ;;
- i*86:Minix:*:*)
- echo "$UNAME_MACHINE"-pc-minix
- exit ;;
+ GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
+ ;;
+ *:Minix:*:*)
+ GUESS=$UNAME_MACHINE-unknown-minix
+ ;;
aarch64:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
@@ -916,183 +988,236 @@ EOF
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
- arc:Linux:*:* | arceb:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
arm*:Linux:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
else
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
fi
fi
- exit ;;
+ ;;
avr32*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
cris:Linux:*:*)
- echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+ ;;
crisv32:Linux:*:*)
- echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
+ ;;
e2k:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
frv:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
hexagon:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
i*86:Linux:*:*)
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-linux-$LIBC
+ ;;
ia64:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
k1om:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
+ loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
m32r*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
m68*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
mips:Linux:*:* | mips64:Linux:*:*)
- eval "$set_cc_for_build"
+ set_cc_for_build
+ IS_GLIBC=0
+ test x"${LIBC}" = xgnu && IS_GLIBC=1
sed 's/^ //' << EOF > "$dummy.c"
#undef CPU
- #undef ${UNAME_MACHINE}
- #undef ${UNAME_MACHINE}el
+ #undef mips
+ #undef mipsel
+ #undef mips64
+ #undef mips64el
+ #if ${IS_GLIBC} && defined(_ABI64)
+ LIBCABI=gnuabi64
+ #else
+ #if ${IS_GLIBC} && defined(_ABIN32)
+ LIBCABI=gnuabin32
+ #else
+ LIBCABI=${LIBC}
+ #endif
+ #endif
+
+ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+ CPU=mipsisa64r6
+ #else
+ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+ CPU=mipsisa32r6
+ #else
+ #if defined(__mips64)
+ CPU=mips64
+ #else
+ CPU=mips
+ #endif
+ #endif
+ #endif
+
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=${UNAME_MACHINE}el
+ MIPS_ENDIAN=el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=${UNAME_MACHINE}
+ MIPS_ENDIAN=
#else
- CPU=
+ MIPS_ENDIAN=
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
- test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
+ cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
+ eval "$cc_set_vars"
+ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
;;
mips64el:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
openrisc*:Linux:*:*)
- echo or1k-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=or1k-unknown-linux-$LIBC
+ ;;
or32:Linux:*:* | or1k*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=sparc-unknown-linux-$LIBC
+ ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=hppa64-unknown-linux-$LIBC
+ ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
- PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
- *) echo hppa-unknown-linux-"$LIBC" ;;
+ PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
+ PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
+ *) GUESS=hppa-unknown-linux-$LIBC ;;
esac
- exit ;;
+ ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=powerpc64-unknown-linux-$LIBC
+ ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=powerpc-unknown-linux-$LIBC
+ ;;
ppc64le:Linux:*:*)
- echo powerpc64le-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=powerpc64le-unknown-linux-$LIBC
+ ;;
ppcle:Linux:*:*)
- echo powerpcle-unknown-linux-"$LIBC"
- exit ;;
- riscv32:Linux:*:* | riscv64:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=powerpcle-unknown-linux-$LIBC
+ ;;
+ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
+ ;;
sh64*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
sh*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
tile*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
vax:Linux:*:*)
- echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-dec-linux-$LIBC
+ ;;
x86_64:Linux:*:*)
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
- exit ;;
+ set_cc_for_build
+ CPU=$UNAME_MACHINE
+ LIBCABI=$LIBC
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ ABI=64
+ sed 's/^ //' << EOF > "$dummy.c"
+ #ifdef __i386__
+ ABI=x86
+ #else
+ #ifdef __ILP32__
+ ABI=x32
+ #endif
+ #endif
+EOF
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
+ eval "$cc_set_abi"
+ case $ABI in
+ x86) CPU=i686 ;;
+ x32) LIBCABI=${LIBC}x32 ;;
+ esac
+ fi
+ GUESS=$CPU-pc-linux-$LIBCABI
+ ;;
xtensa*:Linux:*:*)
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
+ ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
- echo i386-sequent-sysv4
- exit ;;
+ GUESS=i386-sequent-sysv4
+ ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
- echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
+ ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
- echo "$UNAME_MACHINE"-pc-os2-emx
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-os2-emx
+ ;;
i*86:XTS-300:*:STOP)
- echo "$UNAME_MACHINE"-unknown-stop
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-stop
+ ;;
i*86:atheos:*:*)
- echo "$UNAME_MACHINE"-unknown-atheos
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-atheos
+ ;;
i*86:syllable:*:*)
- echo "$UNAME_MACHINE"-pc-syllable
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-syllable
+ ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
- echo i386-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
+ GUESS=i386-unknown-lynxos$UNAME_RELEASE
+ ;;
i*86:*DOS:*:*)
- echo "$UNAME_MACHINE"-pc-msdosdjgpp
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-msdosdjgpp
+ ;;
i*86:*:4.*:*)
UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
- echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
+ GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
else
- echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
+ GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
fi
- exit ;;
+ ;;
i*86:*:5:[678]*)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
@@ -1100,12 +1225,12 @@ EOF
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
- echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
- echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
+ GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
elif /bin/uname -X 2>/dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
@@ -1115,11 +1240,11 @@ EOF
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
- echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
+ GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
else
- echo "$UNAME_MACHINE"-pc-sysv32
+ GUESS=$UNAME_MACHINE-pc-sysv32
fi
- exit ;;
+ ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
@@ -1127,31 +1252,31 @@ EOF
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configure will decide that
# this is a cross-build.
- echo i586-pc-msdosdjgpp
- exit ;;
+ GUESS=i586-pc-msdosdjgpp
+ ;;
Intel:Mach:3*:*)
- echo i386-pc-mach3
- exit ;;
+ GUESS=i386-pc-mach3
+ ;;
paragon:*:*:*)
- echo i860-intel-osf1
- exit ;;
+ GUESS=i860-intel-osf1
+ ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
- echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
+ GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
- echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
+ GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4
fi
- exit ;;
+ ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
- echo m68010-convergent-sysv
- exit ;;
+ GUESS=m68010-convergent-sysv
+ ;;
mc68k:UNIX:SYSTEM5:3.51m)
- echo m68k-convergent-sysv
- exit ;;
+ GUESS=m68k-convergent-sysv
+ ;;
M680?0:D-NIX:5.3:*)
- echo m68k-diab-dnix
- exit ;;
+ GUESS=m68k-diab-dnix
+ ;;
M68*:*:R3V[5678]*:*)
test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
@@ -1176,305 +1301,303 @@ EOF
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
&& { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
- echo m68k-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-unknown-lynxos$UNAME_RELEASE
+ ;;
mc68030:UNIX_System_V:4.*:*)
- echo m68k-atari-sysv4
- exit ;;
+ GUESS=m68k-atari-sysv4
+ ;;
TSUNAMI:LynxOS:2.*:*)
- echo sparc-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
+ GUESS=sparc-unknown-lynxos$UNAME_RELEASE
+ ;;
rs6000:LynxOS:2.*:*)
- echo rs6000-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
+ GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
+ ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
- echo powerpc-unknown-lynxos"$UNAME_RELEASE"
- exit ;;
+ GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
+ ;;
SM[BE]S:UNIX_SV:*:*)
- echo mips-dde-sysv"$UNAME_RELEASE"
- exit ;;
+ GUESS=mips-dde-sysv$UNAME_RELEASE
+ ;;
RM*:ReliantUNIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
+ GUESS=mips-sni-sysv4
+ ;;
RM*:SINIX-*:*:*)
- echo mips-sni-sysv4
- exit ;;
+ GUESS=mips-sni-sysv4
+ ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- echo "$UNAME_MACHINE"-sni-sysv4
+ GUESS=$UNAME_MACHINE-sni-sysv4
else
- echo ns32k-sni-sysv
+ GUESS=ns32k-sni-sysv
fi
- exit ;;
+ ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
+ GUESS=i586-unisys-sysv4
+ ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
- echo hppa1.1-stratus-sysv4
- exit ;;
+ GUESS=hppa1.1-stratus-sysv4
+ ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
- echo i860-stratus-sysv4
- exit ;;
+ GUESS=i860-stratus-sysv4
+ ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
- echo "$UNAME_MACHINE"-stratus-vos
- exit ;;
+ GUESS=$UNAME_MACHINE-stratus-vos
+ ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
- echo hppa1.1-stratus-vos
- exit ;;
+ GUESS=hppa1.1-stratus-vos
+ ;;
mc68*:A/UX:*:*)
- echo m68k-apple-aux"$UNAME_RELEASE"
- exit ;;
+ GUESS=m68k-apple-aux$UNAME_RELEASE
+ ;;
news*:NEWS-OS:6*:*)
- echo mips-sony-newsos6
- exit ;;
+ GUESS=mips-sony-newsos6
+ ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
- if [ -d /usr/nec ]; then
- echo mips-nec-sysv"$UNAME_RELEASE"
+ if test -d /usr/nec; then
+ GUESS=mips-nec-sysv$UNAME_RELEASE
else
- echo mips-unknown-sysv"$UNAME_RELEASE"
+ GUESS=mips-unknown-sysv$UNAME_RELEASE
fi
- exit ;;
+ ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
- echo powerpc-be-beos
- exit ;;
+ GUESS=powerpc-be-beos
+ ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
- echo powerpc-apple-beos
- exit ;;
+ GUESS=powerpc-apple-beos
+ ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
- echo i586-pc-beos
- exit ;;
+ GUESS=i586-pc-beos
+ ;;
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
- echo i586-pc-haiku
- exit ;;
- x86_64:Haiku:*:*)
- echo x86_64-unknown-haiku
- exit ;;
+ GUESS=i586-pc-haiku
+ ;;
+ ppc:Haiku:*:*) # Haiku running on Apple PowerPC
+ GUESS=powerpc-apple-haiku
+ ;;
+ *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
+ GUESS=$UNAME_MACHINE-unknown-haiku
+ ;;
SX-4:SUPER-UX:*:*)
- echo sx4-nec-superux"$UNAME_RELEASE"
- exit ;;
+ GUESS=sx4-nec-superux$UNAME_RELEASE
+ ;;
SX-5:SUPER-UX:*:*)
- echo sx5-nec-superux"$UNAME_RELEASE"
- exit ;;
+ GUESS=sx5-nec-superux$UNAME_RELEASE
+ ;;
SX-6:SUPER-UX:*:*)
- echo sx6-nec-superux"$UNAME_RELEASE"
- exit ;;
+ GUESS=sx6-nec-superux$UNAME_RELEASE
+ ;;
SX-7:SUPER-UX:*:*)
- echo sx7-nec-superux"$UNAME_RELEASE"
- exit ;;
+ GUESS=sx7-nec-superux$UNAME_RELEASE
+ ;;
SX-8:SUPER-UX:*:*)
- echo sx8-nec-superux"$UNAME_RELEASE"
- exit ;;
+ GUESS=sx8-nec-superux$UNAME_RELEASE
+ ;;
SX-8R:SUPER-UX:*:*)
- echo sx8r-nec-superux"$UNAME_RELEASE"
- exit ;;
+ GUESS=sx8r-nec-superux$UNAME_RELEASE
+ ;;
SX-ACE:SUPER-UX:*:*)
- echo sxace-nec-superux"$UNAME_RELEASE"
- exit ;;
+ GUESS=sxace-nec-superux$UNAME_RELEASE
+ ;;
Power*:Rhapsody:*:*)
- echo powerpc-apple-rhapsody"$UNAME_RELEASE"
- exit ;;
+ GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
+ ;;
*:Rhapsody:*:*)
- echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
+ ;;
+ arm64:Darwin:*:*)
+ GUESS=aarch64-apple-darwin$UNAME_RELEASE
+ ;;
*:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- eval "$set_cc_for_build"
- if test "$UNAME_PROCESSOR" = unknown ; then
- UNAME_PROCESSOR=powerpc
+ UNAME_PROCESSOR=`uname -p`
+ case $UNAME_PROCESSOR in
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ if command -v xcode-select > /dev/null 2> /dev/null && \
+ ! xcode-select --print-path > /dev/null 2> /dev/null ; then
+ # Avoid executing cc if there is no toolchain installed as
+ # cc will be a stub that puts up a graphical alert
+ # prompting the user to install developer tools.
+ CC_FOR_BUILD=no_compiler_found
+ else
+ set_cc_for_build
fi
- if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- case $UNAME_PROCESSOR in
- i386) UNAME_PROCESSOR=x86_64 ;;
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
- esac
- fi
- # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
- if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_PPC >/dev/null
- then
- UNAME_PROCESSOR=powerpc
- fi
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_PPC >/dev/null
+ then
+ UNAME_PROCESSOR=powerpc
fi
elif test "$UNAME_PROCESSOR" = i386 ; then
- # Avoid executing cc on OS X 10.9, as it ships with a stub
- # that puts up a graphical alert prompting to install
- # developer tools. Any system running Mac OS X 10.7 or
- # later (Darwin 11 and later) is required to have a 64-bit
- # processor. This is not true of the ARM version of Darwin
- # that Apple uses in portable devices.
- UNAME_PROCESSOR=x86_64
+ # uname -m returns i386 or x86_64
+ UNAME_PROCESSOR=$UNAME_MACHINE
fi
- echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
+ ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
- echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
+ ;;
*:QNX:*:4*)
- echo i386-pc-qnx
- exit ;;
+ GUESS=i386-pc-qnx
+ ;;
NEO-*:NONSTOP_KERNEL:*:*)
- echo neo-tandem-nsk"$UNAME_RELEASE"
- exit ;;
+ GUESS=neo-tandem-nsk$UNAME_RELEASE
+ ;;
NSE-*:NONSTOP_KERNEL:*:*)
- echo nse-tandem-nsk"$UNAME_RELEASE"
- exit ;;
+ GUESS=nse-tandem-nsk$UNAME_RELEASE
+ ;;
NSR-*:NONSTOP_KERNEL:*:*)
- echo nsr-tandem-nsk"$UNAME_RELEASE"
- exit ;;
+ GUESS=nsr-tandem-nsk$UNAME_RELEASE
+ ;;
NSV-*:NONSTOP_KERNEL:*:*)
- echo nsv-tandem-nsk"$UNAME_RELEASE"
- exit ;;
+ GUESS=nsv-tandem-nsk$UNAME_RELEASE
+ ;;
NSX-*:NONSTOP_KERNEL:*:*)
- echo nsx-tandem-nsk"$UNAME_RELEASE"
- exit ;;
+ GUESS=nsx-tandem-nsk$UNAME_RELEASE
+ ;;
*:NonStop-UX:*:*)
- echo mips-compaq-nonstopux
- exit ;;
+ GUESS=mips-compaq-nonstopux
+ ;;
BS2000:POSIX*:*:*)
- echo bs2000-siemens-sysv
- exit ;;
+ GUESS=bs2000-siemens-sysv
+ ;;
DS/*:UNIX_System_V:*:*)
- echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
- exit ;;
+ GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
+ ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
- if test "$cputype" = 386; then
+ if test "${cputype-}" = 386; then
UNAME_MACHINE=i386
- else
- UNAME_MACHINE="$cputype"
+ elif test "x${cputype-}" != x; then
+ UNAME_MACHINE=$cputype
fi
- echo "$UNAME_MACHINE"-unknown-plan9
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-plan9
+ ;;
*:TOPS-10:*:*)
- echo pdp10-unknown-tops10
- exit ;;
+ GUESS=pdp10-unknown-tops10
+ ;;
*:TENEX:*:*)
- echo pdp10-unknown-tenex
- exit ;;
+ GUESS=pdp10-unknown-tenex
+ ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
- echo pdp10-dec-tops20
- exit ;;
+ GUESS=pdp10-dec-tops20
+ ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
- echo pdp10-xkl-tops20
- exit ;;
+ GUESS=pdp10-xkl-tops20
+ ;;
*:TOPS-20:*:*)
- echo pdp10-unknown-tops20
- exit ;;
+ GUESS=pdp10-unknown-tops20
+ ;;
*:ITS:*:*)
- echo pdp10-unknown-its
- exit ;;
+ GUESS=pdp10-unknown-its
+ ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux"$UNAME_RELEASE"
- exit ;;
+ GUESS=mips-sei-seiux$UNAME_RELEASE
+ ;;
*:DragonFly:*:*)
- echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
- exit ;;
+ DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
+ GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
+ ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
- case "$UNAME_MACHINE" in
- A*) echo alpha-dec-vms ; exit ;;
- I*) echo ia64-dec-vms ; exit ;;
- V*) echo vax-dec-vms ; exit ;;
+ case $UNAME_MACHINE in
+ A*) GUESS=alpha-dec-vms ;;
+ I*) GUESS=ia64-dec-vms ;;
+ V*) GUESS=vax-dec-vms ;;
esac ;;
*:XENIX:*:SysV)
- echo i386-pc-xenix
- exit ;;
+ GUESS=i386-pc-xenix
+ ;;
i*86:skyos:*:*)
- echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
- exit ;;
+ SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
+ GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
+ ;;
i*86:rdos:*:*)
- echo "$UNAME_MACHINE"-pc-rdos
- exit ;;
- i*86:AROS:*:*)
- echo "$UNAME_MACHINE"-pc-aros
- exit ;;
+ GUESS=$UNAME_MACHINE-pc-rdos
+ ;;
+ i*86:Fiwix:*:*)
+ GUESS=$UNAME_MACHINE-pc-fiwix
+ ;;
+ *:AROS:*:*)
+ GUESS=$UNAME_MACHINE-unknown-aros
+ ;;
x86_64:VMkernel:*:*)
- echo "$UNAME_MACHINE"-unknown-esx
- exit ;;
+ GUESS=$UNAME_MACHINE-unknown-esx
+ ;;
amd64:Isilon\ OneFS:*:*)
- echo x86_64-unknown-onefs
- exit ;;
-esac
-
-echo "$0: unable to guess system type" >&2
-
-case "$UNAME_MACHINE:$UNAME_SYSTEM" in
- mips:Linux | mips64:Linux)
- # If we got here on MIPS GNU/Linux, output extra information.
- cat >&2 <<EOF
-
-NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
-the system type. Please install a C compiler and try again.
-EOF
+ GUESS=x86_64-unknown-onefs
+ ;;
+ *:Unleashed:*:*)
+ GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
;;
esac
-cat >&2 <<EOF
-
-This script (version $timestamp), has failed to recognize the
-operating system you are using. If your script is old, overwrite *all*
-copies of config.guess and config.sub with the latest versions from:
-
- https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
-and
- https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
-
-If $0 has already been updated, send the following data and any
-information you think might be pertinent to config-patches@gnu.org to
-provide the necessary information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = "$UNAME_MACHINE"
-UNAME_RELEASE = "$UNAME_RELEASE"
-UNAME_SYSTEM = "$UNAME_SYSTEM"
-UNAME_VERSION = "$UNAME_VERSION"
-EOF
+# Do we have a guess based on uname results?
+if test "x$GUESS" != x; then
+ echo "$GUESS"
+ exit
+fi
-exit 1
+# No uname command or uname output not recognized.
+set_cc_for_build
+cat > "$dummy.c" <<EOF
+#ifdef _SEQUENT_
+#include <sys/types.h>
+#include <sys/utsname.h>
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#include <signal.h>
+#if defined(_SIZE_T_) || defined(SIGLOST)
+#include <sys/utsname.h>
+#endif
+#endif
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
-# Local variables:
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
-CTURE__)
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
@@ -1570,7 +1693,7 @@ CTURE__)
}
EOF
-$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` &&
{ echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
@@ -1578,7 +1701,7 @@ test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
echo "$0: unable to guess system type" >&2
-case "$UNAME_MACHINE:$UNAME_SYSTEM" in
+case $UNAME_MACHINE:$UNAME_SYSTEM in
mips:Linux | mips64:Linux)
# If we got here on MIPS GNU/Linux, output extra information.
cat >&2 <<EOF
@@ -1595,9 +1718,17 @@ This script (version $timestamp), has failed to recognize the
operating system you are using. If your script is old, overwrite *all*
copies of config.guess and config.sub with the latest versions from:
- https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
and
- https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
+ https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+EOF
+
+our_year=`echo $timestamp | sed 's,-.*,,'`
+thisyear=`date +%Y`
+# shellcheck disable=SC2003
+script_age=`expr "$thisyear" - "$our_year"`
+if test "$script_age" -lt 3 ; then
+ cat >&2 <<EOF
If $0 has already been updated, send the following data and any
information you think might be pertinent to config-patches@gnu.org to
@@ -1625,6 +1756,7 @@ UNAME_RELEASE = "$UNAME_RELEASE"
UNAME_SYSTEM = "$UNAME_SYSTEM"
UNAME_VERSION = "$UNAME_VERSION"
EOF
+fi
exit 1
diff --git a/graphics/asymptote/configure b/graphics/asymptote/configure
index beeac6ac8b..84292645ed 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.71 for Asymptote 2.85.
+# Generated by GNU Autoconf 2.71 for Asymptote 2.86.
#
# Report bugs to <https://github.com/vectorgraphics/asymptote/issues>.
#
@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='Asymptote'
PACKAGE_TARNAME='asymptote'
-PACKAGE_VERSION='2.85'
-PACKAGE_STRING='Asymptote 2.85'
+PACKAGE_VERSION='2.86'
+PACKAGE_STRING='Asymptote 2.86'
PACKAGE_BUGREPORT='https://github.com/vectorgraphics/asymptote/issues'
PACKAGE_URL=''
@@ -1325,7 +1325,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.85 to adapt to many kinds of systems.
+\`configure' configures Asymptote 2.86 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1391,7 +1391,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Asymptote 2.85:";;
+ short | recursive ) echo "Configuration of Asymptote 2.86:";;
esac
cat <<\_ACEOF
@@ -1506,7 +1506,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Asymptote configure 2.85
+Asymptote configure 2.86
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1986,7 +1986,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.85, which was
+It was created by Asymptote $as_me 2.86, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -6694,7 +6694,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
ASYGLVERSION=1.02
-GCVERSION=8.2.0
+GCVERSION=8.2.4
ATOMICVERSION=7.6.12
GCFILE=gc-$GCVERSION
@@ -10280,7 +10280,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.85, which was
+This file was extended by Asymptote $as_me 2.86, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -10344,7 +10344,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-Asymptote config.status 2.85
+Asymptote config.status 2.86
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/graphics/asymptote/configure.ac b/graphics/asymptote/configure.ac
index c1bb28f29c..b4b58947bc 100644
--- a/graphics/asymptote/configure.ac
+++ b/graphics/asymptote/configure.ac
@@ -3,7 +3,7 @@
# this file.
AC_PREREQ(2)
-AC_INIT([Asymptote],[2.85],[https://github.com/vectorgraphics/asymptote/issues])
+AC_INIT([Asymptote],[2.86],[https://github.com/vectorgraphics/asymptote/issues])
VERSION=$PACKAGE_VERSION
AC_SUBST(VERSION)
m4_include([ax_pthread.m4])
@@ -157,7 +157,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
ASYGLVERSION=1.02
-GCVERSION=8.2.0
+GCVERSION=8.2.4
ATOMICVERSION=7.6.12
GCFILE=gc-$GCVERSION
diff --git a/graphics/asymptote/cudareflect/tinyexr/tinyexr.h b/graphics/asymptote/cudareflect/tinyexr/tinyexr.h
index a5e868b99a..8bc7cd1d44 100644
--- a/graphics/asymptote/cudareflect/tinyexr/tinyexr.h
+++ b/graphics/asymptote/cudareflect/tinyexr/tinyexr.h
@@ -6777,7 +6777,6 @@ static int EncodeChunk(const EXRImage* exr_image, const EXRHeader* exr_header,
if (exr_image->tiles) {
const EXRImage* level_image = exr_image;
size_t block_idx = 0;
- tinyexr::tinyexr_uint64 block_data_size = 0;
int num_levels = (exr_header->tile_level_mode != TINYEXR_TILE_RIPMAP_LEVELS) ?
offset_data.num_x_levels : (offset_data.num_x_levels * offset_data.num_y_levels);
for (int level_index = 0; level_index < num_levels; ++level_index) {
@@ -6825,7 +6824,6 @@ static int EncodeChunk(const EXRImage* exr_image, const EXRHeader* exr_header,
offset_data.offsets[level_index][j][i] = offset;
swap8(reinterpret_cast<tinyexr_uint64*>(&offset_data.offsets[level_index][j][i]));
offset += data_list[block_idx].size() + doffset;
- block_data_size += data_list[block_idx].size();
++block_idx;
}
level_image = level_image->next_level;
diff --git a/graphics/asymptote/doc/CAD.pdf b/graphics/asymptote/doc/CAD.pdf
index 404c5f0e5b..f513b84f03 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 d2b3fcbec8..281cc1550d 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
- 2023-02-09
+ 2023-06-07
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 9926852eec..bf43e7c7dc 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 554016edc6..9db1c7caa1 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 4738bebd4e..69aa1f432f 100644
--- a/graphics/asymptote/doc/asy.1
+++ b/graphics/asymptote/doc/asy.1
@@ -368,7 +368,7 @@ Use webgl2 if available [false].
Show where listed variables are declared [false].
.TP
.B \-wsl
-Run asy under the Windows Subsystem for Linux. [false].
+Run asy under the Windows Subsystem for Linux [false].
.TP
.B \-xasy
Interactive mode for xasy [false].
diff --git a/graphics/asymptote/doc/asyRefCard.pdf b/graphics/asymptote/doc/asyRefCard.pdf
index bdc97baa74..b2eb271f3e 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 b38e93f9c7..c019a75ca2 100644
--- a/graphics/asymptote/doc/asymptote.pdf
+++ b/graphics/asymptote/doc/asymptote.pdf
Binary files differ
diff --git a/graphics/asymptote/doc/png/asymptote.info b/graphics/asymptote/doc/png/asymptote.info
index 78edd9ad02..27c24e19d8 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.85.
+This file documents 'Asymptote', version 2.86.
<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.85.
+This file documents 'Asymptote', version 2.86.
<https://asymptote.sourceforge.io>
@@ -8396,7 +8396,7 @@ Options (negate boolean options by replacing - with -no):
-warn str Enable warning; command-line only
-webgl2 Use webgl2 if available [false]
-where Show where listed variables are declared [false]
--wsl Run asy under the Windows Subsystem for Linux. [false]
+-wsl Run asy under the Windows Subsystem for Linux [false]
-xasy Interactive mode for xasy [false]
-zoomPinchCap limit WebGL maximum zoom pinch [100]
-zoomPinchFactor n WebGL zoom pinch sensitivity [10]
@@ -10685,22 +10685,22 @@ Node: smoothcontour3324592
Node: slopefield326311
Node: ode327792
Node: Options328049
-Ref: configuration file336368
-Ref: settings336368
-Ref: texengines337632
-Ref: convert337632
-Node: Interactive mode341077
-Ref: history343226
-Node: GUI344529
-Node: GUI installation345079
-Node: GUI usage346007
-Node: Command-Line Interface347070
-Node: Language server protocol348512
-Node: PostScript to Asymptote349937
-Node: Help350715
-Node: Debugger352389
-Node: Credits354145
-Node: Index355370
+Ref: configuration file336367
+Ref: settings336367
+Ref: texengines337631
+Ref: convert337631
+Node: Interactive mode341076
+Ref: history343225
+Node: GUI344528
+Node: GUI installation345078
+Node: GUI usage346006
+Node: Command-Line Interface347069
+Node: Language server protocol348511
+Node: PostScript to Asymptote349936
+Node: Help350714
+Node: Debugger352388
+Node: Credits354144
+Node: Index355369

End Tag Table
diff --git a/graphics/asymptote/env.h b/graphics/asymptote/env.h
index 0f97902620..ef5ba67318 100644
--- a/graphics/asymptote/env.h
+++ b/graphics/asymptote/env.h
@@ -140,7 +140,7 @@ public:
bool add(symbol src, symbol dest,
protoenv &source, varEntry *qualifier, coder &c)
{
- return te.add(src, dest, source.te, qualifier, c) |
+ return te.add(src, dest, source.te, qualifier, c) ||
ve.add(src, dest, source.ve, qualifier, c);
}
diff --git a/graphics/asymptote/fileio.cc b/graphics/asymptote/fileio.cc
index 441a9590ec..b28269b2b1 100644
--- a/graphics/asymptote/fileio.cc
+++ b/graphics/asymptote/fileio.cc
@@ -75,6 +75,46 @@ void ifile::ignoreComment()
}
}
+void ifile::Read(double& val) {
+ char c;
+ std::string str;
+ bool neg;
+
+ while(isspace(c=stream->peek()))
+ stream->ignore();
+ neg=stream->peek() == '-';
+ // Try parsing the input as a number.
+ if(*stream >> val)
+ return;
+
+ clear();
+
+ switch(stream->peek()) {
+ case 'I': case 'i': // inf
+ case 'N': case 'n': // NaN
+ for(Int i=0; i < 3 && stream->good(); i++)
+ str += stream->get();
+ break;
+ default:
+ stream->setstate(std::ios_base::failbit);
+ return;
+ }
+
+ if(strcasecmp(str.c_str(),"inf") == 0)
+ val=std::numeric_limits < double > ::infinity();
+ else if(strcasecmp(str.c_str(),"nan") == 0)
+ val=std::numeric_limits < double > ::quiet_NaN();
+ else {
+ for(auto it=str.rbegin(); it != str.rend(); ++it)
+ stream->putback(*it);
+ stream->setstate(std::ios_base::failbit);
+ return;
+ }
+
+ if(neg)
+ val=-val;
+}
+
bool ifile::eol()
{
int c;
diff --git a/graphics/asymptote/fileio.h b/graphics/asymptote/fileio.h
index 6fcd379ec3..93f79a44fd 100644
--- a/graphics/asymptote/fileio.h
+++ b/graphics/asymptote/fileio.h
@@ -416,7 +416,7 @@ public:
void Read(bool &val) {string t; readwhite(t); val=(t == "true");}
void Read(Int& val) {*stream >> val;}
- void Read(double& val) {*stream >> val;}
+ void Read(double& val);
void Read(pair& val) {*stream >> val;}
void Read(triple& val) {*stream >> val;}
void Read(char& val) {stream->get(val);}
diff --git a/graphics/asymptote/fundec.cc b/graphics/asymptote/fundec.cc
index 2a91623825..ed82463c2e 100644
--- a/graphics/asymptote/fundec.cc
+++ b/graphics/asymptote/fundec.cc
@@ -194,7 +194,7 @@ std::pair<std::string, optional<std::string>> formal::fnInfo() const
{
std::string typeName(static_cast<std::string>(*base));
return start != nullptr ?
- std::make_pair(typeName, boost::make_optional(static_cast<std::string>(start->getName()))) :
+ std::make_pair(typeName, make_optional(static_cast<std::string>(start->getName()))) :
std::make_pair(typeName, nullopt);
}
#endif
diff --git a/graphics/asymptote/glrender.cc b/graphics/asymptote/glrender.cc
index 0220398138..e0194e436c 100644
--- a/graphics/asymptote/glrender.cc
+++ b/graphics/asymptote/glrender.cc
@@ -397,9 +397,17 @@ bool Step;
#ifdef HAVE_GL
+stopWatch spinTimer;
+
+void idleFunc(void (*f)())
+{
+ spinTimer.reset();
+ glutIdleFunc(f);
+}
+
void idle()
{
- glutIdleFunc(NULL);
+ idleFunc(NULL);
Xspin=Yspin=Zspin=Animate=Step=false;
}
#endif
@@ -435,7 +443,6 @@ double T[16];
#ifdef HAVE_GL
#ifdef HAVE_LIBGLUT
-timeval lasttime;
int oldWidth,oldHeight;
bool queueScreen=false;
@@ -777,7 +784,7 @@ void deleteShaders()
glDeleteProgram(camp::pixelShader);
}
-void resizeBlendShader(uint maxsize)
+void resizeBlendShader(GLuint maxsize)
{
gl::maxSize=ceilpow2(maxsize);
gl::deleteBlendShader();
@@ -1165,11 +1172,6 @@ void togglefitscreen()
fitscreen();
}
-void idleFunc(void (*f)())
-{
- glutIdleFunc(f);
-}
-
void screen()
{
if(glthread && !interact::interactive)
@@ -1579,13 +1581,7 @@ void mouse(int button, int state, int x, int y)
double spinstep()
{
- timeval tv;
- gettimeofday(&tv,NULL);
- double step=getSetting<double>("spinstep")*
- (tv.tv_sec-lasttime.tv_sec+
- ((double) tv.tv_usec-lasttime.tv_usec)/1000000.0);
- lasttime=tv;
- return step;
+ return getSetting<double>("spinstep")*spinTimer.seconds(true);
}
void xspin()
@@ -1892,14 +1888,19 @@ void init_osmesa()
#endif // HAVE_LIBOSMESA
}
-#endif /* HAVE_GL */
-
bool NVIDIA()
{
- char *GLSL_VERSION=(char *) glGetString(GL_SHADING_LANGUAGE_VERSION);
+#ifdef GL_SHADING_LANGUAGE_VERSION
+ const char *GLSL_VERSION=(const char *)
+ glGetString(GL_SHADING_LANGUAGE_VERSION);
+#else
+ const char *GLSL_VERSION="";
+#endif
return string(GLSL_VERSION).find("NVIDIA") != string::npos;
}
+#endif /* HAVE_GL */
+
// angle=0 means orthographic.
void glrender(const string& prefix, const picture *pic, const string& format,
double width, double height, double angle, double zoom,
@@ -1908,7 +1909,6 @@ void glrender(const string& prefix, const picture *pic, const string& format,
double *background, size_t nlightsin, triple *lights,
double *diffuse, double *specular, bool view, int oldpid)
{
- gettimeofday(&lasttime,NULL);
Iconify=getSetting<bool>("iconify");
if(zoom == 0.0) zoom=1.0;
@@ -2180,7 +2180,8 @@ void glrender(const string& prefix, const picture *pic, const string& format,
if(glinitialize) {
glinitialize=false;
- char *GLSL_VERSION=(char *) glGetString(GL_SHADING_LANGUAGE_VERSION);
+ const char *GLSL_VERSION=(const char *)
+ glGetString(GL_SHADING_LANGUAGE_VERSION);
GLSLversion=(int) (100*atof(GLSL_VERSION)+0.5);
if(GLSLversion < 130) {
@@ -2424,19 +2425,19 @@ void refreshBuffers()
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);
-
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);
- } 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::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); // Clear count or index buffer
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::opaqueBuffer);
glBufferData(GL_SHADER_STORAGE_BUFFER,gl::pixels*sizeof(glm::vec4),NULL,
@@ -2464,8 +2465,8 @@ void refreshBuffers()
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);
+ glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R32UI,GL_RED_INTEGER,
+ GL_UNSIGNED_INT,&zero);
glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::feedbackBuffer);
}
diff --git a/graphics/asymptote/lspserv.cc b/graphics/asymptote/lspserv.cc
index 42f135b35f..0707731a64 100644
--- a/graphics/asymptote/lspserv.cc
+++ b/graphics/asymptote/lspserv.cc
@@ -113,7 +113,7 @@ std::string wslUnix2Dos(std::string const& unixPath)
TextDocumentHover::Either fromString(std::string const& str)
{
- auto strobj=std::make_pair(boost::make_optional(str), optional<lsMarkedString>());
+ auto strobj=std::make_pair(make_optional(str), optional<lsMarkedString>());
std::vector<decltype(strobj)> vec{strobj};
return std::make_pair(vec, nullopt);
}
@@ -577,7 +577,7 @@ std::string wslUnix2Dos(std::string const& unixPath)
posRanges.splice(posRanges.begin(), ctx->searchLitFuncPositions(std::get<0>(st.value()), pos));
}
}
- rsp.result.first=boost::make_optional(std::vector<lsLocation>());
+ rsp.result.first=make_optional(std::vector<lsLocation>());
std::transform(
posRanges.begin(), posRanges.end(), std::back_inserter(rsp.result.first.value()),
[](posRangeInFile const& posRange)
diff --git a/graphics/asymptote/lspserv.h b/graphics/asymptote/lspserv.h
index 74a21659a3..44f6b8978e 100644
--- a/graphics/asymptote/lspserv.h
+++ b/graphics/asymptote/lspserv.h
@@ -66,13 +66,13 @@ namespace AsymptoteLsp
template<typename TLeft, typename TRight>
inline optional<std::pair<optional<TLeft>, optional<TRight>>> opt_left(TLeft const& opt)
{
- return boost::make_optional(std::make_pair(optional<TLeft>(opt), optional<TRight>()));
+ return make_optional(std::make_pair(optional<TLeft>(opt), optional<TRight>()));
}
template<typename TLeft, typename TRight>
inline optional<std::pair<optional<TLeft>, optional<TRight>>> opt_right(TRight const& opt)
{
- return boost::make_optional(std::make_pair(optional<TLeft>(), optional<TRight>(opt)));
+ return make_optional(std::make_pair(optional<TLeft>(), optional<TRight>(opt)));
}
TextDocumentHover::Either fromString(std::string const &str);
diff --git a/graphics/asymptote/picture.cc b/graphics/asymptote/picture.cc
index 2412863f60..dea28b541b 100644
--- a/graphics/asymptote/picture.cc
+++ b/graphics/asymptote/picture.cc
@@ -310,7 +310,6 @@ bbox3 picture::bounds3()
b3=bbox3();
matrixstack ms;
- size_t i=0;
for(nodelist::const_iterator p=nodes.begin(); p != nodes.end(); ++p) {
assert(*p);
if((*p)->begingroup3())
@@ -319,7 +318,6 @@ bbox3 picture::bounds3()
ms.pop();
else
(*p)->bounds(ms.T(),b3);
- i++;
}
lastnumber3=n;
@@ -657,6 +655,7 @@ int picture::epstopdf(const string& epsname, const string& pdfname)
cmd.push_back("-dEncodeColorImages="+compress);
cmd.push_back("-dEncodeGrayImages="+compress);
cmd.push_back("-dCompatibilityLevel=1.4");
+ cmd.push_back("-dTransferFunctionInfo=/Apply");
if(!getSetting<bool>("autorotate"))
cmd.push_back("-dAutoRotatePages=/None");
cmd.push_back("-g"+String(max(ceil(getSetting<double>("paperwidth")),1.0))
diff --git a/graphics/asymptote/profiler.h b/graphics/asymptote/profiler.h
index 046d85e403..4c69d8d7f6 100644
--- a/graphics/asymptote/profiler.h
+++ b/graphics/asymptote/profiler.h
@@ -13,6 +13,7 @@
#include <iostream>
#include "inst.h"
+#include "seconds.h"
namespace vm {
@@ -292,27 +293,17 @@ class profiler : public gc {
analyseNode(emptynode);
}
-
// Timing data.
- struct timeval timestamp;
+ utils::cpuTimer timestamp;
void startLap() {
- gettimeofday(&timestamp, 0);
- }
-
- long long timeAndResetLap() {
- struct timeval now;
- gettimeofday(&now, 0);
- long long nsecs = 1000000000LL * (now.tv_sec - timestamp.tv_sec) +
- 1000LL * (now.tv_usec - timestamp.tv_usec);
- timestamp = now;
- return nsecs;
+ timestamp.reset();
}
// Called whenever the stack is about to change, in order to record the time
// duration for the current node.
void recordTime() {
- topnode().nsecs += timeAndResetLap();
+ topnode().nsecs += (long long) timestamp.nanoseconds(true);
}
public:
diff --git a/graphics/asymptote/psfile.cc b/graphics/asymptote/psfile.cc
index 924f3c1872..21573a4ce3 100644
--- a/graphics/asymptote/psfile.cc
+++ b/graphics/asymptote/psfile.cc
@@ -219,7 +219,7 @@ void psfile::setcolor(const pen& p, const string& begin="",
bool psfile::transparentFormat(string outputformat)
{
- return
+ return (pdftex() && outputformat == "") ||
outputformat == "pdf" || outputformat == "html" ||
outputformat == "svg" || outputformat == "png" ||
outputformat == "v3d";
@@ -227,21 +227,18 @@ bool psfile::transparentFormat(string outputformat)
void psfile::setopacity(const pen& p)
{
- if(p.blend() != lastpen.blend()) {
- *out << "/" << p.blend() << " .setblendmode" << newl;
- }
+ if(transparentFormat(settings::getSetting<string>("outformat"))) {
+ if(p.blend() != lastpen.blend())
+ *out << "/" << p.blend() << " .setblendmode" << newl;
- string outputformat=settings::getSetting<string>("outformat");
- if(p.opacity() != lastpen.opacity() &&
- ((pdftex() && outputformat == "") || transparentFormat(outputformat))) {
- *out << p.opacity() << " .setfillconstantalpha" << newl
- << p.opacity() << " .setstrokeconstantalpha" << newl;
- }
+ if(p.opacity() != lastpen.opacity())
+ *out << p.opacity() << " .setfillconstantalpha" << newl
+ << p.opacity() << " .setstrokeconstantalpha" << newl;
- lastpen.settransparency(p);
+ lastpen.settransparency(p);
+ }
}
-
void psfile::setpen(pen p)
{
p.convert();
diff --git a/graphics/asymptote/revision.cc b/graphics/asymptote/revision.cc
index 06f4c5f8f8..2e7ac15112 100644
--- a/graphics/asymptote/revision.cc
+++ b/graphics/asymptote/revision.cc
@@ -1,2 +1,2 @@
-const char *REVISION="2.85";
+const char *REVISION="2.86";
const char *AsyGLVersion="1.02";
diff --git a/graphics/asymptote/runpicture.cc b/graphics/asymptote/runpicture.cc
index 70be72fd98..f68e88f652 100644
--- a/graphics/asymptote/runpicture.cc
+++ b/graphics/asymptote/runpicture.cc
@@ -856,7 +856,6 @@ void gen_runpicture46(stack *Stack)
const string Done="Done";
const string Error="Error";
- unsigned arg=0;
xmap_t xmap=processData().xmap;
transform Tinv=inverse(T);
@@ -937,7 +936,6 @@ void gen_runpicture46(stack *Stack)
}
fflush(pipeout);
- ++arg;
}
} else {
drawElement *e=t.isIdentity() ? *p : (*p)->transformed(t);
@@ -961,7 +959,7 @@ void gen_runpicture46(stack *Stack)
// Three-dimensional picture and surface operations
// Bezier curve
-#line 633 "runpicture.in"
+#line 631 "runpicture.in"
// void _draw(picture *f, path3 g, triple center=Zero, penarray *p, real opacity, real shininess, real metallic, real fresnel0, Int interaction=0);
void gen_runpicture47(stack *Stack)
{
@@ -974,7 +972,7 @@ void gen_runpicture47(stack *Stack)
triple center=vm::pop<triple>(Stack,Zero);
path3 g=vm::pop<path3>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 636 "runpicture.in"
+#line 634 "runpicture.in"
size_t n=g.size();
for(unsigned int i=0; i < n; ++i)
f->append(new drawPath3(g.subpath((Int) i,Int(i+1)),center,*p,opacity,
@@ -983,7 +981,7 @@ void gen_runpicture47(stack *Stack)
}
// Bezier patch
-#line 645 "runpicture.in"
+#line 643 "runpicture.in"
// void draw(picture *f, triplearray2 *P, triple center, bool straight, penarray *p, real opacity, real shininess, real metallic, real fresnel0, penarray *colors, Int interaction, Int digits, bool primitive=false);
void gen_runpicture48(stack *Stack)
{
@@ -1000,7 +998,7 @@ void gen_runpicture48(stack *Stack)
triple center=vm::pop<triple>(Stack);
triplearray2 * P=vm::pop<triplearray2 *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 649 "runpicture.in"
+#line 647 "runpicture.in"
f->append(new drawBezierPatch(*P,center,straight,*p,opacity,shininess,
metallic,fresnel0,*colors,
(Interaction) intcast(interaction),
@@ -1008,7 +1006,7 @@ void gen_runpicture48(stack *Stack)
}
// Bezier triangle
-#line 657 "runpicture.in"
+#line 655 "runpicture.in"
// void drawbeziertriangle(picture *f, triplearray2 *P, triple center, bool straight, penarray *p, real opacity, real shininess, real metallic, real fresnel0, penarray *colors, Int interaction, Int digits, bool primitive=false);
void gen_runpicture49(stack *Stack)
{
@@ -1025,7 +1023,7 @@ void gen_runpicture49(stack *Stack)
triple center=vm::pop<triple>(Stack);
triplearray2 * P=vm::pop<triplearray2 *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 662 "runpicture.in"
+#line 660 "runpicture.in"
f->append(new drawBezierTriangle(*P,center,straight,*p,opacity,shininess,
metallic,fresnel0,*colors,
(Interaction) intcast(interaction),
@@ -1033,7 +1031,7 @@ void gen_runpicture49(stack *Stack)
}
// General NURBS curve
-#line 670 "runpicture.in"
+#line 668 "runpicture.in"
// void draw(picture *f, triplearray *P, realarray *knot, realarray *weights=emptyarray, pen p);
void gen_runpicture50(stack *Stack)
{
@@ -1042,12 +1040,12 @@ void gen_runpicture50(stack *Stack)
realarray * knot=vm::pop<realarray *>(Stack);
triplearray * P=vm::pop<triplearray *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 672 "runpicture.in"
+#line 670 "runpicture.in"
f->append(new drawNurbsPath3(*P,knot,weights,p));
}
// General NURBS surface
-#line 677 "runpicture.in"
+#line 675 "runpicture.in"
// void draw(picture *f, triplearray2 *P, realarray *uknot, realarray *vknot, realarray2 *weights=emptyarray, penarray *p, real opacity, real shininess,real metallic, real fresnel0, penarray *colors);
void gen_runpicture51(stack *Stack)
{
@@ -1062,13 +1060,13 @@ void gen_runpicture51(stack *Stack)
realarray * uknot=vm::pop<realarray *>(Stack);
triplearray2 * P=vm::pop<triplearray2 *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 680 "runpicture.in"
+#line 678 "runpicture.in"
f->append(new drawNurbs(*P,uknot,vknot,weights,*p,opacity,shininess,
metallic,fresnel0,*colors));
}
// Sphere primitive
-#line 686 "runpicture.in"
+#line 684 "runpicture.in"
// void drawSphere(picture *f, realarray2 *t, bool half=false, penarray *p, real opacity, real shininess, real metallic, real fresnel0, Int type);
void gen_runpicture52(stack *Stack)
{
@@ -1081,13 +1079,13 @@ void gen_runpicture52(stack *Stack)
bool half=vm::pop<bool>(Stack,false);
realarray2 * t=vm::pop<realarray2 *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 689 "runpicture.in"
+#line 687 "runpicture.in"
f->append(new drawSphere(*t,half,*p,opacity,shininess,metallic,fresnel0,
intcast(type)));
}
// Cylinder primitive
-#line 695 "runpicture.in"
+#line 693 "runpicture.in"
// void drawCylinder(picture *f, realarray2 *t, penarray *p, real opacity, real shininess, real metallic, real fresnel0, bool core=false);
void gen_runpicture53(stack *Stack)
{
@@ -1099,12 +1097,12 @@ void gen_runpicture53(stack *Stack)
penarray * p=vm::pop<penarray *>(Stack);
realarray2 * t=vm::pop<realarray2 *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 698 "runpicture.in"
+#line 696 "runpicture.in"
f->append(new drawCylinder(*t,*p,opacity,shininess,metallic,fresnel0,core));
}
// Disk primitive
-#line 703 "runpicture.in"
+#line 701 "runpicture.in"
// void drawDisk(picture *f, realarray2 *t, penarray *p, real opacity, real shininess, real metallic, real fresnel0);
void gen_runpicture54(stack *Stack)
{
@@ -1115,12 +1113,12 @@ void gen_runpicture54(stack *Stack)
penarray * p=vm::pop<penarray *>(Stack);
realarray2 * t=vm::pop<realarray2 *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 705 "runpicture.in"
+#line 703 "runpicture.in"
f->append(new drawDisk(*t,*p,opacity,shininess,metallic,fresnel0));
}
// Tube primitive
-#line 710 "runpicture.in"
+#line 708 "runpicture.in"
// void drawTube(picture *f, triplearray *g, real width, penarray *p, real opacity, real shininess, real metallic, real fresnel0, triple min, triple max, bool core=false);
void gen_runpicture55(stack *Stack)
{
@@ -1135,13 +1133,13 @@ void gen_runpicture55(stack *Stack)
real width=vm::pop<real>(Stack);
triplearray * g=vm::pop<triplearray *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 713 "runpicture.in"
+#line 711 "runpicture.in"
f->append(new drawTube(*g,width,*p,opacity,shininess,metallic,fresnel0,
min,max,core));
}
// Draw pixel
-#line 719 "runpicture.in"
+#line 717 "runpicture.in"
// void drawpixel(picture *f, triple v, pen p, real width=1.0);
void gen_runpicture56(stack *Stack)
{
@@ -1149,12 +1147,12 @@ void gen_runpicture56(stack *Stack)
pen p=vm::pop<pen>(Stack);
triple v=vm::pop<triple>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 720 "runpicture.in"
+#line 718 "runpicture.in"
f->append(new drawPixel(v,p,width));
}
// Draw triangles
-#line 725 "runpicture.in"
+#line 723 "runpicture.in"
// void draw(picture *f, triplearray *v, Intarray2 *vi, triple center=Zero, triplearray *n, Intarray2 *ni, penarray *p, real opacity, real shininess, real metallic, real fresnel0, penarray *c=emptyarray, Intarray2 *ci=emptyarray, Int interaction);
void gen_runpicture57(stack *Stack)
{
@@ -1172,64 +1170,64 @@ void gen_runpicture57(stack *Stack)
Intarray2 * vi=vm::pop<Intarray2 *>(Stack);
triplearray * v=vm::pop<triplearray *>(Stack);
picture * f=vm::pop<picture *>(Stack);
-#line 730 "runpicture.in"
+#line 728 "runpicture.in"
f->append(new drawTriangles(*v,*vi,center,*n,*ni,*p,opacity,shininess,
metallic,fresnel0,*c,*ci,
(Interaction) intcast(interaction)));
}
-#line 736 "runpicture.in"
+#line 734 "runpicture.in"
// triple min3(picture *f);
void gen_runpicture58(stack *Stack)
{
picture * f=vm::pop<picture *>(Stack);
-#line 737 "runpicture.in"
+#line 735 "runpicture.in"
{Stack->push<triple>(f->bounds3().Min()); return;}
}
-#line 741 "runpicture.in"
+#line 739 "runpicture.in"
// triple max3(picture *f);
void gen_runpicture59(stack *Stack)
{
picture * f=vm::pop<picture *>(Stack);
-#line 742 "runpicture.in"
+#line 740 "runpicture.in"
{Stack->push<triple>(f->bounds3().Max()); return;}
}
-#line 746 "runpicture.in"
+#line 744 "runpicture.in"
// triple size3(picture *f);
void gen_runpicture60(stack *Stack)
{
picture * f=vm::pop<picture *>(Stack);
-#line 747 "runpicture.in"
+#line 745 "runpicture.in"
bbox3 b=f->bounds3();
{Stack->push<triple>(b.Max()-b.Min()); return;}
}
-#line 752 "runpicture.in"
+#line 750 "runpicture.in"
// pair minratio(picture *f);
void gen_runpicture61(stack *Stack)
{
picture * f=vm::pop<picture *>(Stack);
-#line 753 "runpicture.in"
+#line 751 "runpicture.in"
{Stack->push<pair>(f->ratio(::min)); return;}
}
-#line 757 "runpicture.in"
+#line 755 "runpicture.in"
// pair maxratio(picture *f);
void gen_runpicture62(stack *Stack)
{
picture * f=vm::pop<picture *>(Stack);
-#line 758 "runpicture.in"
+#line 756 "runpicture.in"
{Stack->push<pair>(f->ratio(::max)); return;}
}
-#line 762 "runpicture.in"
+#line 760 "runpicture.in"
// bool is3D(picture *f);
void gen_runpicture63(stack *Stack)
{
picture * f=vm::pop<picture *>(Stack);
-#line 763 "runpicture.in"
+#line 761 "runpicture.in"
{Stack->push<bool>(f->have3D()); return;}
}
@@ -1333,39 +1331,39 @@ void gen_runpicture_venv(venv &ve)
addFunc(ve, run::gen_runpicture45, primVoid(), SYM(xmap), formal(primString(), SYM(key), false, false), formal(primTransform(), SYM(t), true, false));
#line 515 "runpicture.in"
addFunc(ve, run::gen_runpicture46, primVoid(), SYM(deconstruct), formal(primPicture(), SYM(f), false, false), formal(primPicture(), SYM(preamble), true, false), formal(primTransform(), SYM(t), true, false));
-#line 629 "runpicture.in"
+#line 627 "runpicture.in"
addFunc(ve, run::gen_runpicture47, primVoid(), SYM(_draw), formal(primPicture(), SYM(f), false, false), formal(primPath3(), SYM(g), false, false), formal(primTriple(), SYM(center), true, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false), formal(primInt(), SYM(interaction), true, false));
-#line 644 "runpicture.in"
+#line 642 "runpicture.in"
addFunc(ve, run::gen_runpicture48, primVoid(), SYM(draw), formal(primPicture(), SYM(f), false, false), formal(tripleArray2(), SYM(p), false, false), formal(primTriple(), SYM(center), false, false), formal(primBoolean(), SYM(straight), false, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false), formal(penArray(), SYM(colors), false, false), formal(primInt(), SYM(interaction), false, false), formal(primInt(), SYM(digits), false, false), formal(primBoolean(), SYM(primitive), true, false));
-#line 656 "runpicture.in"
+#line 654 "runpicture.in"
addFunc(ve, run::gen_runpicture49, primVoid(), SYM(drawbeziertriangle), formal(primPicture(), SYM(f), false, false), formal(tripleArray2(), SYM(p), false, false), formal(primTriple(), SYM(center), false, false), formal(primBoolean(), SYM(straight), false, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false), formal(penArray(), SYM(colors), false, false), formal(primInt(), SYM(interaction), false, false), formal(primInt(), SYM(digits), false, false), formal(primBoolean(), SYM(primitive), true, false));
-#line 669 "runpicture.in"
+#line 667 "runpicture.in"
addFunc(ve, run::gen_runpicture50, primVoid(), SYM(draw), formal(primPicture(), SYM(f), false, false), formal(tripleArray(), SYM(p), false, false), formal(realArray(), SYM(knot), false, false), formal(realArray(), SYM(weights), true, false), formal(primPen(), SYM(p), false, false));
-#line 676 "runpicture.in"
+#line 674 "runpicture.in"
addFunc(ve, run::gen_runpicture51, primVoid(), SYM(draw), formal(primPicture(), SYM(f), false, false), formal(tripleArray2(), SYM(p), false, false), formal(realArray(), SYM(uknot), false, false), formal(realArray(), SYM(vknot), false, false), formal(realArray2(), SYM(weights), true, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false), formal(penArray(), SYM(colors), false, false));
-#line 685 "runpicture.in"
+#line 683 "runpicture.in"
addFunc(ve, run::gen_runpicture52, primVoid(), SYM(drawSphere), formal(primPicture(), SYM(f), false, false), formal(realArray2(), SYM(t), false, false), formal(primBoolean(), SYM(half), true, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false), formal(primInt(), SYM(type), false, false));
-#line 694 "runpicture.in"
+#line 692 "runpicture.in"
addFunc(ve, run::gen_runpicture53, primVoid(), SYM(drawCylinder), formal(primPicture(), SYM(f), false, false), formal(realArray2(), SYM(t), false, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false), formal(primBoolean(), SYM(core), true, false));
-#line 702 "runpicture.in"
+#line 700 "runpicture.in"
addFunc(ve, run::gen_runpicture54, primVoid(), SYM(drawDisk), formal(primPicture(), SYM(f), false, false), formal(realArray2(), SYM(t), false, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false));
-#line 709 "runpicture.in"
+#line 707 "runpicture.in"
addFunc(ve, run::gen_runpicture55, primVoid(), SYM(drawTube), formal(primPicture(), SYM(f), false, false), formal(tripleArray(), SYM(g), false, false), formal(primReal(), SYM(width), false, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false), formal(primTriple(), SYM(min), false, false), formal(primTriple(), SYM(max), false, false), formal(primBoolean(), SYM(core), true, false));
-#line 718 "runpicture.in"
+#line 716 "runpicture.in"
addFunc(ve, run::gen_runpicture56, primVoid(), SYM(drawpixel), formal(primPicture(), SYM(f), false, false), formal(primTriple(), SYM(v), false, false), formal(primPen(), SYM(p), false, false), formal(primReal(), SYM(width), true, false));
-#line 724 "runpicture.in"
+#line 722 "runpicture.in"
addFunc(ve, run::gen_runpicture57, primVoid(), SYM(draw), formal(primPicture(), SYM(f), false, false), formal(tripleArray(), SYM(v), false, false), formal(IntArray2(), SYM(vi), false, false), formal(primTriple(), SYM(center), true, false), formal(tripleArray(), SYM(n), false, false), formal(IntArray2(), SYM(ni), false, false), formal(penArray(), SYM(p), false, false), formal(primReal(), SYM(opacity), false, false), formal(primReal(), SYM(shininess), false, false), formal(primReal(), SYM(metallic), false, false), formal(primReal(), SYM(fresnel0), false, false), formal(penArray(), SYM(c), true, false), formal(IntArray2(), SYM(ci), true, false), formal(primInt(), SYM(interaction), false, false));
-#line 736 "runpicture.in"
+#line 734 "runpicture.in"
addFunc(ve, run::gen_runpicture58, primTriple(), SYM(min3), formal(primPicture(), SYM(f), false, false));
-#line 741 "runpicture.in"
+#line 739 "runpicture.in"
addFunc(ve, run::gen_runpicture59, primTriple(), SYM(max3), formal(primPicture(), SYM(f), false, false));
-#line 746 "runpicture.in"
+#line 744 "runpicture.in"
addFunc(ve, run::gen_runpicture60, primTriple(), SYM(size3), formal(primPicture(), SYM(f), false, false));
-#line 752 "runpicture.in"
+#line 750 "runpicture.in"
addFunc(ve, run::gen_runpicture61, primPair(), SYM(minratio), formal(primPicture(), SYM(f), false, false));
-#line 757 "runpicture.in"
+#line 755 "runpicture.in"
addFunc(ve, run::gen_runpicture62, primPair(), SYM(maxratio), formal(primPicture(), SYM(f), false, false));
-#line 762 "runpicture.in"
+#line 760 "runpicture.in"
addFunc(ve, run::gen_runpicture63, primBoolean(), SYM(is3D), formal(primPicture(), SYM(f), false, false));
}
diff --git a/graphics/asymptote/runpicture.in b/graphics/asymptote/runpicture.in
index 696e303ace..98d7b008d6 100644
--- a/graphics/asymptote/runpicture.in
+++ b/graphics/asymptote/runpicture.in
@@ -525,7 +525,6 @@ void deconstruct(picture *f, picture *preamble=NULL, transform T=identity)
const string Done="Done";
const string Error="Error";
- unsigned arg=0;
xmap_t xmap=processData().xmap;
transform Tinv=inverse(T);
@@ -606,7 +605,6 @@ void deconstruct(picture *f, picture *preamble=NULL, transform T=identity)
}
fflush(pipeout);
- ++arg;
}
} else {
drawElement *e=t.isIdentity() ? *p : (*p)->transformed(t);
diff --git a/graphics/asymptote/runtime.cc b/graphics/asymptote/runtime.cc
index 2cead744b4..50f30f6ef7 100644
--- a/graphics/asymptote/runtime.cc
+++ b/graphics/asymptote/runtime.cc
@@ -1525,8 +1525,8 @@ void gen_runtime115(stack *Stack)
::times(&buf);
array *t=new array(5);
- (*t)[0]=cpuTime.seconds();
- (*t)[1]=((real) buf.tms_stime)*ticktime;
+ (*t)[0]=cpuTime.seconds(); // Includes system time
+ (*t)[1]=0.0;
(*t)[2]=((real) buf.tms_cutime)*ticktime;
(*t)[3]=((real) buf.tms_cstime)*ticktime;
(*t)[4]=wallClock.seconds();
diff --git a/graphics/asymptote/runtime.in b/graphics/asymptote/runtime.in
index 986259c10b..ea2291ec44 100644
--- a/graphics/asymptote/runtime.in
+++ b/graphics/asymptote/runtime.in
@@ -1044,8 +1044,8 @@ realarray *_cputime()
::times(&buf);
array *t=new array(5);
- (*t)[0]=cpuTime.seconds();
- (*t)[1]=((real) buf.tms_stime)*ticktime;
+ (*t)[0]=cpuTime.seconds(); // Includes system time
+ (*t)[1]=0.0;
(*t)[2]=((real) buf.tms_cutime)*ticktime;
(*t)[3]=((real) buf.tms_cstime)*ticktime;
(*t)[4]=wallClock.seconds();
diff --git a/graphics/asymptote/seconds.h b/graphics/asymptote/seconds.h
index 6b72f997b0..b42e692169 100644
--- a/graphics/asymptote/seconds.h
+++ b/graphics/asymptote/seconds.h
@@ -2,6 +2,7 @@
#define __seconds_h__ 1
#include <chrono>
+#include <sys/resource.h>
namespace utils {
@@ -18,28 +19,25 @@ inline double cpuTime() {
#include <unistd.h>
#include <time.h>
-#ifdef HAVE_PTHREAD
-#include <pthread.h>
-#endif
-
inline double cpuTime() {
- timespec t;
- clockid_t cid;
-
#ifdef CLOCK_THREAD_CPUTIME_ID
- cid=CLOCK_THREAD_CPUTIME_ID;
-#else
- #ifdef HAVE_PTHREAD
- pthread_getcpuclockid(pthread_self(),&cid);
- #elif CLOCK_PROCESS_CPUTIME_ID
- cid=CLOCK_PROCESS_CPUTIME_ID;
- #else
- cid=CLOCK_REALTIME;
- #endif
+#define GETTIME_ID CLOCK_THREAD_CPUTIME_ID
+#elif defined(CLOCK_PROCESS_CPUTIME_ID)
+#define GETTIME_ID CLOCK_PROCESS_CPUTIME_ID
#endif
- clock_gettime(cid,&t);
+#ifdef GETTIME_ID
+ timespec t;
+ clock_gettime(GETTIME_ID,&t);
return 1.0e9*t.tv_sec+t.tv_nsec;
+#undef GETTIME_ID
+#else
+ struct rusage ru;
+ if(getrusage(RUSAGE_SELF, &ru))
+ return 0;
+ return 1.0e9*(ru.ru_utime.tv_sec+ru.ru_stime.tv_sec)
+ +1.0e3*(ru.ru_utime.tv_usec+ru.ru_stime.tv_usec);
+#endif
}
#endif
@@ -59,7 +57,8 @@ public:
auto Stop=std::chrono::steady_clock::now();
double ns=std::chrono::duration_cast<std::chrono::nanoseconds>
(Stop-Start).count();
- if(reset) Start=Stop;
+ if(reset)
+ Start=Stop;
return ns;
}
@@ -82,17 +81,20 @@ public:
reset();
}
- double nanoseconds() {
+ double nanoseconds(bool reset=false) {
auto Stop=std::chrono::steady_clock::now();
double stop=cpuTime();
-
- return
- std::min((double) std::chrono::duration_cast<std::chrono::nanoseconds>
- (Stop-Start).count(),stop-start);
+ double ns=std::min((double) std::chrono::duration_cast<std::chrono::nanoseconds>
+ (Stop-Start).count(),stop-start);
+ if(reset) {
+ Start=Stop;
+ start=stop;
+ }
+ return ns;
}
- double seconds() {
- return 1.0e-9*nanoseconds();
+ double seconds(bool reset=false) {
+ return 1.0e-9*nanoseconds(reset);
}
};
diff --git a/graphics/asymptote/settings.cc b/graphics/asymptote/settings.cc
index ecf67ce848..aab7dc042c 100644
--- a/graphics/asymptote/settings.cc
+++ b/graphics/asymptote/settings.cc
@@ -1407,10 +1407,13 @@ void initSettings() {
"Input code over multiple lines at the prompt"));
addOption(new boolSetting("xasy", 0,
"Interactive mode for xasy"));
+#ifdef HAVE_LSP
addOption(new boolSetting("lsp", 0, "Interactive mode for the Language Server Protocol"));
- addOption(new boolSetting("wsl", 0, "Run asy under the Windows Subsystem for Linux."));
addOption(new envSetting("lspport", ""));
addOption(new envSetting("lsphost", "127.0.0.1"));
+#endif
+
+ addOption(new boolSetting("wsl", 0, "Run asy under the Windows Subsystem for Linux"));
addOption(new boolSetting("wait", 0,
"Wait for child processes to finish before exiting"));
diff --git a/graphics/asymptote/symbolmaps.cc b/graphics/asymptote/symbolmaps.cc
index 27c073e70b..aabc8fc2b9 100644
--- a/graphics/asymptote/symbolmaps.cc
+++ b/graphics/asymptote/symbolmaps.cc
@@ -70,7 +70,7 @@ namespace AsymptoteLsp
if (posMatches and !isOperator)
{
posInFile endPos(pos.first, endCharacter + 1);
- return boost::make_optional(std::make_tuple(syLit, pos, endPos));
+ return make_optional(std::make_tuple(syLit, pos, endPos));
}
}
return nullopt;
diff --git a/graphics/asymptote/symbolmaps.h b/graphics/asymptote/symbolmaps.h
index d78e4b1563..c2388e1256 100644
--- a/graphics/asymptote/symbolmaps.h
+++ b/graphics/asymptote/symbolmaps.h
@@ -11,10 +11,6 @@
#include "LibLsp/lsp/lsPosition.h"
#include "LibLsp/lsp/textDocument/documentColor.h"
-#ifndef boost
-#define nullopt boost::none
-#endif
-
namespace AsymptoteLsp
{
struct SymbolLit
diff --git a/graphics/asymptote/tests/Makefile b/graphics/asymptote/tests/Makefile
index 659737bfd4..89499df494 100644
--- a/graphics/asymptote/tests/Makefile
+++ b/graphics/asymptote/tests/Makefile
@@ -1,6 +1,6 @@
.NOTPARALLEL:
-TESTDIRS = string arith frames types imp array pic gs
+TESTDIRS = string arith frames types imp array pic gs io
EXTRADIRS = gsl output
diff --git a/graphics/asymptote/tests/io/csv.asy b/graphics/asymptote/tests/io/csv.asy
new file mode 100644
index 0000000000..d0ef00b21f
--- /dev/null
+++ b/graphics/asymptote/tests/io/csv.asy
@@ -0,0 +1,18 @@
+import TestLib;
+
+StartTest("csv");
+{
+ real[] a=input("io/input_with_nan.csv").csv();
+ assert(a.length == 20);
+ for (int i=0; i<4; ++i)
+ assert(a[i] == i);
+ for (int i=4; i<8; ++i)
+ assert(isnan(a[i]));
+ for (int i=8; i<12; ++i)
+ assert(isnan(a[i]));
+ for (int i=12; i<16; ++i)
+ assert(a[i] == inf);
+ for (int i=16; i<20; ++i)
+ assert(a[i] == -inf);
+}
+EndTest();
diff --git a/graphics/asymptote/tests/io/input_with_nan.csv b/graphics/asymptote/tests/io/input_with_nan.csv
new file mode 100644
index 0000000000..c431fe2a0a
--- /dev/null
+++ b/graphics/asymptote/tests/io/input_with_nan.csv
@@ -0,0 +1,5 @@
+ 0, 1, 2, 3
+ NaN, NAN, nan, nAn
+-NaN,-NAN,-nan,-nAn
+ InF, INF, inf, iNf
+-InF,-INF,-inf,-iNf
diff --git a/graphics/asymptote/v3dheadertypes.h b/graphics/asymptote/v3dheadertypes.h
index 7332e479bf..c2504a0bee 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 2023-02-09 04:54:00
+// Generated at 2023-06-07 02:00:10
namespace camp
{
diff --git a/graphics/asymptote/v3dheadertypes.py b/graphics/asymptote/v3dheadertypes.py
index 2fd900ac5b..0c95089bef 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 2023-02-09 04:54:07
+# Generated at 2023-06-07 02:00:19
class v3dheadertypes:
v3dheadertypes_canvasWidth=1
diff --git a/graphics/asymptote/v3dtypes.h b/graphics/asymptote/v3dtypes.h
index 60c00d7986..e4958bc46d 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 2023-02-09 04:54:00
+// Generated at 2023-06-07 02:00:10
namespace camp
{
diff --git a/graphics/asymptote/v3dtypes.py b/graphics/asymptote/v3dtypes.py
index ea70bf5ea9..4c00ea4c40 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 2023-02-09 04:54:07
+# Generated at 2023-06-07 02:00:19
class v3dtypes:
v3dtypes_material=1
diff --git a/graphics/pgf/contrib/tikz-nfold/README.md b/graphics/pgf/contrib/tikz-nfold/README.md
index 6cfba546a4..c146668713 100644
--- a/graphics/pgf/contrib/tikz-nfold/README.md
+++ b/graphics/pgf/contrib/tikz-nfold/README.md
@@ -1,5 +1,5 @@
# tikz-nfold
-## Version 0.1.2
+## Version 0.1.3
This library adds higher-order paths to [TikZ](https://ctan.org/pkg/pgf) and also fixes some graphical issues with TikZ' `double` paths, used e.g. in wide arrows. It is also compatible with [tikz-cd](https://ctan.org/pkg/tikz-cd), adding support for triple and higher arrows. See the [documentation](tikz-nfold-doc.pdf) for full details.
diff --git a/graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.pdf b/graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.pdf
index 9a26adfd67..9df9c937ac 100644
--- a/graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.pdf
+++ b/graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.tex b/graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.tex
index 60b1d03202..46132fb7f5 100644
--- a/graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.tex
+++ b/graphics/pgf/contrib/tikz-nfold/tikz-nfold-doc.tex
@@ -329,6 +329,8 @@ Here we see how the commands can be used to customise $n$-fold paths:
\section{Version history}
\begin{itemize}
+ \item \textbf{v0.1.3}: Bug fixes
+ \item \textbf{v0.1.2}: Bug fixes
\item \textbf{v0.1.1}: Closing paths and structural changes
\begin{itemize}
\item Support for closed paths (\texttt{cycle} and \verb|\pgfpathclose|)
diff --git a/graphics/pgf/contrib/tikz-nfold/tikzlibrarynfold.code.tex b/graphics/pgf/contrib/tikz-nfold/tikzlibrarynfold.code.tex
index da48d7b62b..342191b0ad 100644
--- a/graphics/pgf/contrib/tikz-nfold/tikzlibrarynfold.code.tex
+++ b/graphics/pgf/contrib/tikz-nfold/tikzlibrarynfold.code.tex
@@ -276,30 +276,41 @@
\newif\ifpgf@nfold@angletoosharp
% This stores whether we need the intersections library for an arrow tip but it is not loaded
\newif\ifpgf@nfold@intersectionsnotloaded
+% This stores whether the currently processed connected sub-path is the final one on this path
+\newif\ifpgf@nfold@lastconnsubpath
\def\pgf@nfold@parser@handlesegment{%
- \if\pgf@nfold@cur@visible 0
+ \if\pgf@nfold@cur@visible0
% first, last and moveto are invisible
\if\pgf@nfold@cur@type m
- % We don't need to do anything for a moveto: If a visible segment follows, it will move to
- % its starting location by itself. However, we might need to draw the arrow tip extension
+ % We don't need to do anything for a moveto; if a visible segment follows, it will move to
+ % its starting location by itself. However, we might need to draw the arrow tip extension
% at the start (if present).
+ % Draw a tip extension only if all of the following conditions are met:
+ % 1. There is an Implies tip at the start of this path
+ % 2. We are currently on the last connected sub-path of this path
+ % 3. The next segment is visible
+ % 4. This moveto is the first segment on this path
\if\pgf@nfold@start@arrowcode1
- \if\pgf@nfold@prev@type f
- \if\pgf@nfold@next@visible1
- \edef\pgf@nfold@macrotoadd{%
- \noexpand\pgf@nfold@extendtotip{s}{\pgf@nfold@cur@last}{\pgf@nfold@next@angle@i}
- }%
- \pgf@nfold@addmacro\pgf@parsed@cur@conn@seg%
- % hack: We make the next segment believe that this segment was a lineto
- % so the path does not get interrupted
- \let\pgf@nfold@cur@type l
- \let\pgf@nfold@cur@visible 1
- \let\pgf@nfold@cur@angle@ii\pgf@nfold@next@angle@i
- \let\pgf@nfold@cur@tang@ii\pgf@nfold@next@tang@i
- \fi
- \fi%
+ \ifpgf@nfold@lastconnsubpath
+ \if\pgf@nfold@prev@type f
+ \if\pgf@nfold@next@visible1
+ \edef\pgf@nfold@macrotoadd{%
+ \noexpand\pgf@nfold@extendtotip{s}{\pgf@nfold@cur@last}{\pgf@nfold@next@angle@i}
+ }%
+ \pgf@nfold@addmacro\pgf@parsed@cur@conn@seg%
+ % hack: We make the next segment believe that this segment was a lineto
+ % so the path does not get interrupted
+ \let\pgf@nfold@cur@type l
+ \let\pgf@nfold@cur@visible1
+ \let\pgf@nfold@cur@angle@ii\pgf@nfold@next@angle@i
+ \let\pgf@nfold@cur@tang@ii\pgf@nfold@next@tang@i
+ \def\pgf@nfold@deltaphi@end{0}
+ \pgf@nfold@angletoosharpfalse
+ \fi
+ \fi%
+ \fi
\fi
\fi%
\else%
@@ -311,25 +322,20 @@
\def\pgf@nfold@shortenstartjoin{0}
\def\pgf@nfold@shortenendjoin{0}
\pgf@nfold@closejoinsedgecasefalse
- \pgf@nfold@angletoosharpfalse
% Step 1.1: Make room for the join at the start if needed
- \if\pgf@nfold@prev@visible1
+ \if\pgf@nfold@prev@visible0
+ \pgf@nfold@continuesegmentfalse
+ \else
\pgf@nfold@continuesegmenttrue
- % TODO can we just use deltaphi@end from the previous round?
- % Compute the angle difference at the start (between -180 and +180 degrees)
- % using \pgfmathsubtract@ is more readable and no less efficient than computing this manually
- \pgfmathsubtract@{\pgf@nfold@cur@angle@i}{\pgf@nfold@prev@angle@ii}
- \pgf@nfold@clampangle
- \edef\pgf@nfold@deltaphi@start{\pgfmathresult}
+ % deltaphi@start can be recycled from deltaphi@end;
+ % \ifpgf@nfold@angletoosharp is also still set
+ \let\pgf@nfold@deltaphi@start\pgf@nfold@deltaphi@end
+ % set \pgf@xb := abs(deltaphi@start)
\pgf@xb=\pgf@nfold@deltaphi@start pt\relax
\ifdim\pgf@xb<0pt\relax
\pgf@xb=-\pgf@xb
\fi
- \ifdim\pgf@xb>178pt\relax
- % we go full backwards, don't relocate the start and disable the join to avoid division by zero
- % don't need an error message here, it has already been displayed in the previous segment
- \pgf@nfold@angletoosharptrue
- \else
+ \ifpgf@nfold@angletoosharp\else
\ifdim\pgf@xb>0.5pt\relax
% make room for the start join if the angle is nonzero;
% shortenstartjoin := hwidth*tan(.5*abs(deltaphi@start))
@@ -352,8 +358,7 @@
\pgfmathveclen@{\pgfmathresult}{\pgf@sys@tonumber\pgf@yb}
\pgfextract@process\pgf@nfold@cur@supporta{\pgfpointadd%
{\pgf@nfold@cur@first}%
- % TODO migrate to tangent
- {\pgfqpointpolar{\pgf@nfold@cur@angle@i}{\pgfmathresult pt}}}%
+ {\pgfqpointscale{\pgfmathresult}{\pgf@nfold@cur@tang@i}}}%
\else
% special treatment for singular curves (supporta = first) to avoid rounding error glitches.
% In this special case, a slight corner at the end of the join is unavoidable unless we
@@ -363,15 +368,15 @@
\fi
\fi
\fi
- \else
- \pgf@nfold@continuesegmentfalse
\fi
% Step 1.2: Make room for the join at the end if needed
\if\pgf@nfold@next@visible1
- % Compute the angle difference at the start (between -180 and +180 degrees)
+ % Compute the angle difference at the end (between -180 and +180 degrees)
% using \pgfmathsubtract@ is more readable and no less efficient than computing this manually
\pgfmathsubtract@{\pgf@nfold@next@angle@i}{\pgf@nfold@cur@angle@ii}
\pgf@nfold@clampangle
+ % Edge case handling: If the next segment is a closepath and has length zero, deltaphi is set
+ % to zero to prevent glitches (a zero length segment has no well-defined angle anyway)
\edef\pgf@nfold@deltaphi@end{\pgfmathresult}
\pgf@xb=\pgf@nfold@deltaphi@end pt\relax
\ifdim\pgf@xb<0pt\relax
@@ -381,6 +386,7 @@
\pgfutil@packagewarning{tikz-nfold}{Angle too sharp, expect visual errors}
\pgf@nfold@angletoosharptrue
\else
+ \pgf@nfold@angletoosharpfalse
\ifdim\pgf@xb>0.5pt\relax
% make room for the start join if the angle is nonzero
% shortenendjoin := hwidth*tan(.5*abs(deltaphi@end))
@@ -403,11 +409,10 @@
\pgfmathveclen@{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}
\ifdim\pgfmathresult pt>0.1pt\relax
\pgfmathveclen@{\pgfmathresult}{\pgf@sys@tonumber\pgf@yb}
- % can use qpoint and minus because \pgfmathresult is guaranteed to be positive
\pgfextract@process\pgf@nfold@cur@supportb{\pgfpointadd%
{\pgf@nfold@cur@last}%
- % TODO migrate to tangent
- {\pgfqpointpolar{\pgf@nfold@cur@angle@ii}{-\pgfmathresult pt}}}%
+ % can use qpointscale and a minus because \pgfmathresult is guaranteed to be positive
+ {\pgfqpointscale{-\pgfmathresult}{\pgf@nfold@cur@tang@ii}}}%
\else
\let\pgf@nfold@cur@supportb\pgf@nfold@cur@movedlast
\fi
@@ -416,7 +421,7 @@
\fi
% Step 1.3: Detect an edge case
% This edge case appears whenever the current segment is such a short line that we would
- % have to reduce its length to less than zero to make space for the joins. In such cases,
+ % have to reduce its length to less than zero to make room for the joins. In such cases,
% the line is not drawn at all, and slight modifications must be made to the joins to ensure
% a correct output (i.e. one join is immediately followed by the next without a segment in between).
%
@@ -441,7 +446,7 @@
% If the previous segment is a moveto and the current segment is a "close joins" edge case,
% nothing needs to be drawn here (the relevant draw call will be made at the join of the subsequent
% segment). We must therefore make sure that we move to the correct end point of this segment.
- % Counterintuitively, this is given by the offset of \pgf@nfold@cur@movedfirst since the start and end
+ % Counterintuitively, this is given by the offset of \pgf@nfold@cur@movedFIRST since the start and end
% are reversed in the edge case.
\edef\pgf@nfold@macrotoadd{%
\noexpand\pgf@nfold@token@edgecase@movetostart{\pgf@nfold@cur@movedfirst}{\pgf@nfold@cur@angle@i}%
@@ -451,18 +456,27 @@
\else
% If we draw the join when the start angle is close to 180 degrees, we get a division by zero
\ifpgf@nfold@angletoosharp\else
- \pgf@nfold@parser@handlejoin
+ \if\pgf@nfold@cur@type z\else
+ \pgf@nfold@parser@handlejoin
+ \fi
\fi
\fi
- % Step 2.2: Store where the current (non-offset) end point was relocated
+ % Step 2.2: Store information that may be needed later
+ % Step 2.2.1: Store where the current (non-offset) end point was relocated
% in order to make space for the end join. This may be used if the next
% segment begins with a join
\let\pgf@nfold@prev@segment@end\pgf@nfold@cur@movedlast
+ % Step 2.2.2: Store the tangent of the first proper segment of closed path.
+ % This is needed in case the \pgfpathclose-segment has length zero,
+ % since in that case its tangent cannot be computed.
+ \if\pgf@nfold@cur@type i
+ \let\pgf@nfold@connsubpath@tang@i\pgf@nfold@next@tang@i%
+ \let\pgf@nfold@connsubpath@angle@i\pgf@nfold@next@angle@i%
+ \fi
%
% Step 3: Draw the new segment.
%
% The value of \ifpgf@nfold@continuesegment decides whether we start with a moveto.
- % curveto
\if\pgf@nfold@cur@type l
% In the edge case, one join is followed immediately by the next. The line segment
% thus has a negative length and will be skipped.
@@ -481,6 +495,11 @@
\def\pgf@nfold@macrotoadd{\pgf@nfold@token@closepath}%
\pgf@nfold@addmacro\pgf@parsed@cur@conn@seg%
\fi
+ \if\pgf@nfold@cur@type z
+ % zero and non-zero closepath's differ in the join handling, but are identical in rendering
+ \def\pgf@nfold@macrotoadd{\pgf@nfold@token@closepath}%
+ \pgf@nfold@addmacro\pgf@parsed@cur@conn@seg%
+ \fi
\if\pgf@nfold@cur@type c
\ifpgf@nfold@continuesegment
\pgf@subdividecurve{\pgf@nfold@cur@movedfirst}{\pgf@nfold@cur@supporta}{\pgf@nfold@cur@supportb}{\pgf@nfold@cur@movedlast}{\pgf@offset@max@recursion}{0}{\pgf@nfold@addcurvesegment@callback@continue}
@@ -779,55 +798,59 @@
%
% In order to correctly implement \pgfpathclose we already need to know about
% the \pgfpathclose (and the penultimate point) at the beginning of this
-% connected segment as these data affect the first/last join.
-% We therefore parse one connected segment of the softpath and store it in a modified
-% form in \pgf@cur@conn@segment. When reaching the end of the connected segment we call
-% the proper parser to turn \pgf@cur@conn@segment into a parsed path. We do this for
-% all connected segments and concatenate all the parsed paths.
+% connected sub-path as these data affect the first/last join.
+% We therefore parse one connected sub-path of the softpath and store it in a modified
+% form in \pgf@cur@conn@subpath. When reaching the end of the connected sub-path we call
+% the proper parser to turn \pgf@cur@conn@subpath into a parsed path. We do this for
+% all connected sub-paths and concatenate all the parsed paths.
%
\def\pgf@nfold@parsesoftpath#1#2{%
- \let\pgf@cur@conn@segment\pgfutil@empty%
- \let\pgf@all@parsed@segments\pgfutil@empty%
+ \let\pgf@cur@conn@subpath\pgfutil@empty%
+ \let\pgf@all@parsed@subpaths\pgfutil@empty%
\edef\pgf@nfold@parser@last@moveto{{\the\pgf@path@lastx}{\the\pgf@path@lasty}}%
\let\pgf@nfold@last@closepath@from\pgfutil@empty%
\pgf@nfold@parse@setupfirst%
\expandafter\pgf@nfold@@parsesoftpath#1\pgf@stop{}{}%
- \let#2\pgf@all@parsed@segments%
+ \let#2\pgf@all@parsed@subpaths%
}%
\def\pgf@nfold@@parsesoftpath#1#2#3{%
\let\pgf@next\pgf@nfold@@parsesoftpath%
\ifx#1\pgf@stop%
\def\pgf@nfold@macrotoadd{\pgf@nfold@parselast}%
- \pgf@nfold@addmacro\pgf@cur@conn@segment%
- \pgf@nfold@process@conn@segment%
+ \pgf@nfold@addmacro\pgf@cur@conn@subpath%
+ \pgf@nfold@lastconnsubpathtrue%
+ \pgf@nfold@process@conn@subpath%
\let\pgf@next\relax%
\else%
\ifx#1\pgfsyssoftpath@movetotoken%
- \ifx\pgf@cur@conn@segment\pgfutil@empty%
+ \ifx\pgf@cur@conn@subpath\pgfutil@empty%
% This case happens for the very first segment or for double movetos.
% We need special treatment here, as otherwise the arrow tip extension
% does not work correctly. The \pgf@nfold@parsemoveto will be called
- % in \pgf@nfold@process@conn@segment.
+ % in \pgf@nfold@process@conn@subpath.
\def\pgf@nfold@parser@last@moveto{{#2}{#3}}%
- % Make sure \pgf@cur@conn@segment is no longer empty so double movetos are not
+ % Make sure \pgf@cur@conn@subpath is no longer empty so double movetos are not
% treated the same as single movetos. This is also relevant to arrow tip extensions
- \def\pgf@cur@conn@segment{\relax}%
+ \def\pgf@cur@conn@subpath{\relax}%
\else%
\def\pgf@nfold@macrotoadd{\pgf@nfold@parsemoveto{#2}{#3}}%
- \pgf@nfold@addmacro\pgf@cur@conn@segment%
- % A moveto marks the beginning/end of one connected segment
- \pgf@nfold@process@conn@segment%
+ \pgf@nfold@addmacro\pgf@cur@conn@subpath%
+ \pgf@nfold@lastconnsubpathfalse%
+ % A moveto marks the beginning/end of one connected sub-path
+ \pgf@nfold@process@conn@subpath%
\let\pgf@nfold@last@closepath@from\pgfutil@empty%
- \let\pgf@cur@conn@segment\pgfutil@empty%
+ \let\pgf@cur@conn@subpath\pgfutil@empty%
+ % set up "first" again which may be needed for the arrow tip extension
+ \pgf@nfold@parse@setupfirst%
\def\pgf@nfold@parser@last@moveto{{#2}{#3}}%
\fi
\else%
\ifx#1\pgfsyssoftpath@linetotoken%
\def\pgf@nfold@macrotoadd{\pgf@nfold@parselineto{#2}{#3}}%
- \pgf@nfold@addmacro\pgf@cur@conn@segment%
+ \pgf@nfold@addmacro\pgf@cur@conn@subpath%
\else%
\ifx#1\pgfsyssoftpath@curvetosupportatoken%
\def\pgf@nfold@parse@supporta{{#2}{#3}}%
@@ -837,19 +860,19 @@
\else%
\ifx#1\pgfsyssoftpath@curvetotoken%
\edef\pgf@nfold@macrotoadd{\noexpand\pgf@nfold@parsecurveto\pgf@nfold@parse@supporta\pgf@nfold@parse@supportb{#2}{#3}}%
- \pgf@nfold@addmacro\pgf@cur@conn@segment%
+ \pgf@nfold@addmacro\pgf@cur@conn@subpath%
\else%
\ifx#1\pgfsyssoftpath@closepathtoken%
\let\pgf@nfold@last@closepath@from\pgf@nfold@parser@previous@pt%
\def\pgf@nfold@macrotoadd{\pgf@nfold@parseclosepath{#2}{#3}}%
- \pgf@nfold@addmacro\pgf@cur@conn@segment%
+ \pgf@nfold@addmacro\pgf@cur@conn@subpath%
\else%
\ifx#1\pgfsyssoftpath@rectcornertoken%
\def\pgf@nfold@parse@rectcorner{{#2}{#3}}%
\else%
\ifx#1\pgfsyssoftpath@rectsizetoken%
\edef\pgf@nfold@macrotoadd{\noexpand\pgf@nfold@parserect\pgf@nfold@parse@rectcorner{#2}{#3}}%
- \pgf@nfold@addmacro\pgf@cur@conn@segment%
+ \pgf@nfold@addmacro\pgf@cur@conn@subpath%
\else%
\pgfutil@packageerror{tikz-nfold}{Unrecognised soft path token `#1'}{}%
\fi%
@@ -862,27 +885,30 @@
\fi%
\fi%
\def\pgf@nfold@parser@previous@pt{{#2}{#3}}%
+ % store the last two segments, as they might be needed for zero-length \pgfpathclose-segments
+ \let\pgf@nfold@sectolast@segment\pgf@nfold@last@segment%
+ \let\pgf@nfold@last@segment\pgf@nfold@macrotoadd%
\pgf@next}%
-\def\pgf@nfold@process@conn@segment{%
+\def\pgf@nfold@process@conn@subpath{%
\let\pgf@parsed@cur@conn@seg\pgfutil@empty%
\ifx\pgf@nfold@last@closepath@from\pgfutil@empty%
\expandafter\pgf@nfold@parsemoveto\pgf@nfold@parser@last@moveto%
\else%
- % This connected segment ends on a closepath. In order to get
- % the join right, we prepend the current segment with an invisible line
- % identical to the line of the \pgfpathclose. This way,
+ % This connected sub-path ends on a closepath. In order to get
+ % the join right, we prepend the current sub-path with an invisible line
+ % identical to the line of the \pgfpathclose.
\expandafter\pgf@nfold@parsemoveto\pgf@nfold@last@closepath@from%
\expandafter\pgf@nfold@parseinvisibleline\pgf@nfold@parser@last@moveto%
\fi%
- \pgf@cur@conn@segment%
+ \pgf@cur@conn@subpath%
\let\pgf@nfold@macrotoadd\pgf@parsed@cur@conn@seg%
- \pgf@nfold@addmacro\pgf@all@parsed@segments%
+ \pgf@nfold@addmacro\pgf@all@parsed@subpaths%
}
%
% Values for \pgf@nfold@next@type:
-% f=first, m=moveto, c=curveto, l=lineto, r=rect, o=closepath, t=last, i=invisibleline
+% f=first, m=moveto, c=curveto, l=lineto, r=rect, o=closepath, z=zero length closepath, t=last, i=invisibleline
%
\def\pgf@nfold@parsemoveto#1#2{%
@@ -939,15 +965,57 @@
\def\pgf@nfold@parseclosepath#1#2{%
\pgf@process{\pgfpointdiff{\pgf@nfold@next@last}{\pgf@x#1\pgf@y#2}}%
% closepath segments should always be processed even if they have zero length
- \pgf@nfold@parse@line@common{#1}{#2}{o}%
+ \pgfpointtaxicabnorm\pgf@xa%
+ \ifdim\pgf@xa<0.1pt\relax%
+ \pgf@nfold@parse@closepath@zerolength{#1}{#2}%
+ \else%
+ \pgf@nfold@parse@line@common{#1}{#2}{o}%
+ \fi%
}%
+\def\pgf@nfold@parse@closepath@zerolength#1#2{%
+ \pgf@nfold@parser@moveup%
+ \let\pgf@nfold@next@type=z%
+ \let\pgf@nfold@next@visible=1%
+ % Set the start and end tangent to the tangent of the first segment
+ \let\pgf@nfold@next@tang@i\pgf@nfold@connsubpath@tang@i
+ \let\pgf@nfold@next@tang@ii\pgf@nfold@connsubpath@tang@i
+ \let\pgf@nfold@next@angle@i\pgf@nfold@connsubpath@angle@i
+ \let\pgf@nfold@next@angle@ii\pgf@nfold@connsubpath@angle@i
+ \let\pgf@nfold@next@first\pgf@nfold@cur@last
+ % If problems arise, we need to put a fake point here (like \pgf@nfold@next@first + \pgf@nfold@next@tang@i)
+ \def\pgf@nfold@next@last{\pgf@x#1\pgf@y#2}%
+ \pgf@nfold@parser@handlesegment%
+}
+
\def\pgf@nfold@parseinvisibleline#1#2{%
\pgf@process{\pgfpointdiff{\pgf@nfold@next@last}{\pgf@x#1\pgf@y#2}}%
- % invisibleline segments should always be processed even if they have zero length.
+ \pgfpointtaxicabnorm\pgf@xa%
+ % In order to correctly render the start/end join in a closed path,
+ % the \pgfpathclose segment is copied to the start of the path as an invisible line.
% Counterintuitively, an "invisibleline" segment has next@visible=1 because
% we want its end join to be rendered.
- \pgf@nfold@parse@line@common{#1}{#2}{i}%
+ % In case the \pgfpathclose segment has non-zero length, we can just use a copy of
+ % this segment for the invisible line. Otherwise, the invisble line segment must will receive
+ % the same angle/tangent as the last finite-sized segment, which is the second-to-last
+ % segment overall (cached in \pgf@nfold@sectolast@segment).
+ \ifdim\pgf@xa>.1pt\relax%
+ \pgf@nfold@parse@line@common{#1}{#2}{i}%
+ \else%
+ \begingroup%
+ % find the tangent of the second-to-last segment
+ \let\pgf@nfold@parser@handlesegment\relax%
+ \pgf@nfold@sectolast@segment%
+ \global\let\pgf@nfold@tmp\pgf@nfold@next@tang@ii%
+ \endgroup%
+ % Construct an invisible line with length 1pt and the correct tangent.
+ % This step might not be needed since the join computations only require the tangent,
+ % but the invisibleline segment would be inconsistent otherwise, so better play it safe.
+ \pgfextract@process\pgf@nfold@next@first{\pgfpointdiff{\pgf@nfold@tmp}{\pgfqpoint{#1}{#2}}}%
+ % write the tangent into (\pgf@x, \pgf@y) where the next macro expects it to be
+ \pgf@nfold@tmp%
+ \pgf@nfold@parse@line@common{#1}{#2}{i}%
+ \fi%
}%
\def\pgf@nfold@parselast{%
@@ -1047,14 +1115,17 @@
\let\pgf@nfold@next@visible=0%
\edef\pgf@nfold@next@last{\pgf@x\the\pgf@path@lastx\pgf@y\the\pgf@path@lasty}%
% the following only need to be set if visible=1
- \let\pgf@nfold@next@tang@i=\pgfpointorigin%
- \let\pgf@nfold@next@tang@ii=\pgfpointorigin%
- \def\pgf@nfold@next@angle@i{0}%
- \def\pgf@nfold@next@angle@ii{0}%
- \let\pgf@nfold@next@first\pgfpointorigin%
+ % TODO these are disabled temporarily; an attempt to read them suggests that there
+ % is a bug, because their content has no meaning at this point. Consider reenabling
+ % if compile errors show up, but if they do, the root of the problem is likely to be elsewhere
+ %\let\pgf@nfold@next@tang@i=\pgfpointorigin%
+ %\let\pgf@nfold@next@tang@ii=\pgfpointorigin%
+ % \def\pgf@nfold@next@angle@i{0}%
+ % \def\pgf@nfold@next@angle@ii{0}%
+ % \let\pgf@nfold@next@first\pgfpointorigin%
% the following only need to be set if type=c
- \let\pgf@nfold@next@supporta\pgfpointorigin%
- \let\pgf@nfold@next@supportb\pgfpointorigin%
+ % \let\pgf@nfold@next@supporta\pgfpointorigin%
+ % \let\pgf@nfold@next@supportb\pgfpointorigin%
}
\def\pgf@nfold@clampangle{
diff --git a/info/spanish/antique-spanish-units/README b/info/spanish/antique-spanish-units/README
new file mode 100644
index 0000000000..55d1ecee44
--- /dev/null
+++ b/info/spanish/antique-spanish-units/README
@@ -0,0 +1,13 @@
+The antique spanish units
+
+This short document is about antique spanish units used in Spain and their colonies between sixteenth and nineteenth centuries. The next step is develop a package for LaTeX similar to siunitx package. The document could be interesting for historians, economists, metrologists and others, as reference and detailed compendium about this old system of units.
+
+The document is provided "as is", with no warranties, and is distributed under Creative Commons Attribution 4.0 International License.
+
+Current version: 1.1 (2023-06-07)
+
+This "package" is maintained by Noel Merino Hernández
+
+muxkernel at gmail dot com
+
+
diff --git a/info/spanish/antique-spanish-units/antique-spanish-units.pdf b/info/spanish/antique-spanish-units/antique-spanish-units.pdf
new file mode 100644
index 0000000000..475bcf4b8f
--- /dev/null
+++ b/info/spanish/antique-spanish-units/antique-spanish-units.pdf
@@ -0,0 +1,1185 @@
+%PDF-1.5
+%ÐÔÅØ
+13 0 obj
+<<
+/Type /Metadata /Subtype /XML
+/Length 16555
+>>
+stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/">
+ <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <rdf:Description rdf:about=""
+ xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
+ xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
+ xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+ xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+ xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
+ xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"
+ xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/"
+ xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/"
+ xmlns:pdfxid="http://www.npes.org/pdfx/ns/id/"
+ xmlns:prism="http://prismstandard.org/namespaces/basic/3.0/"
+ xmlns:jav="http://www.niso.org/schemas/jav/1.0/"
+ xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+ xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#"
+ xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/"
+ xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
+ xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"
+ xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#"
+ xmlns:pdfaType="http://www.aiim.org/pdfa/ns/type#"
+ xmlns:pdfaField="http://www.aiim.org/pdfa/ns/field#">
+ <pdfaExtension:schemas>
+ <rdf:Bag>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:schema>Adobe PDF Schema</pdfaSchema:schema>
+ <pdfaSchema:prefix>pdf</pdfaSchema:prefix>
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/pdf/1.3/</pdfaSchema:namespaceURI>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>Trapped</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Indication if the document has been modified to include trapping information</pdfaProperty:description>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:schema>XMP Media Management Schema</pdfaSchema:schema>
+ <pdfaSchema:prefix>xmpMM</pdfaSchema:prefix>
+ <pdfaSchema:namespaceURI>http://ns.adobe.com/xap/1.0/mm/</pdfaSchema:namespaceURI>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>DocumentID</pdfaProperty:name>
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>UUID based identifier for all versions and renditions of a document</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>InstanceID</pdfaProperty:name>
+ <pdfaProperty:valueType>URI</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>UUID based identifier for specific incarnation of a document</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>VersionID</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Document version identifier</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>RenditionClass</pdfaProperty:name>
+ <pdfaProperty:valueType>RenditionClass</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>The manner in which a document is rendered</pdfaProperty:description>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaSchema:schema>PRISM Basic Metadata</pdfaSchema:schema>
+ <pdfaSchema:prefix>prism</pdfaSchema:prefix>
+ <pdfaSchema:namespaceURI>http://prismstandard.org/namespaces/basic/3.0/</pdfaSchema:namespaceURI>
+ <pdfaSchema:property>
+ <rdf:Seq>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>complianceProfile</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>PRISM specification compliance profile to which this document adheres</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>publicationName</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Publication name</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>aggregationType</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Publication type</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>bookEdition</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Edition of the book in which the document was published</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>volume</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Publication volume number</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>number</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Publication issue number within a volume</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>pageRange</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Page range for the document within the print version of its publication</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>issn</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>ISSN for the printed publication in which the document was published</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>eIssn</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>ISSN for the electronic publication in which the document was published</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>isbn</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>ISBN for the publication in which the document was published</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>doi</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Digital Object Identifier for the document</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>url</pdfaProperty:name>
+ <pdfaProperty:valueType>URL</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>URL at which the document can be found</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>byteCount</pdfaProperty:name>
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Approximate file size in octets</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>pageCount</pdfaProperty:name>
+ <pdfaProperty:valueType>Integer</pdfaProperty:valueType>
+ <pdfaProperty:category>internal</pdfaProperty:category>
+ <pdfaProperty:description>Number of pages in the print version of the document</pdfaProperty:description>
+ </rdf:li>
+ <rdf:li rdf:parseType="Resource">
+ <pdfaProperty:name>subtitle</pdfaProperty:name>
+ <pdfaProperty:valueType>Text</pdfaProperty:valueType>
+ <pdfaProperty:category>external</pdfaProperty:category>
+ <pdfaProperty:description>Document's subtitle</pdfaProperty:description>
+ </rdf:li>
+ </rdf:Seq>
+ </pdfaSchema:property>
+ </rdf:li>
+ </rdf:Bag>
+ </pdfaExtension:schemas>
+ <pdf:Producer>pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian)</pdf:Producer>
+ <pdf:Keywords>antiguas unidades españolas metrología</pdf:Keywords>
+ <pdf:PDFVersion>1.5</pdf:PDFVersion>
+ <xmpRights:Marked>True</xmpRights:Marked>
+ <xmpRights:WebStatement>https://creativecommons.org/licenses/by/4.0/deed.es</xmpRights:WebStatement>
+ <dc:format>application/pdf</dc:format>
+ <dc:title>
+ <rdf:Alt>
+ <rdf:li xml:lang="es">El antiguo sistema de unidades españolas</rdf:li>
+ </rdf:Alt>
+ </dc:title>
+ <dc:description>
+ <rdf:Alt>
+ <rdf:li xml:lang="es">Metrología</rdf:li>
+ </rdf:Alt>
+ </dc:description>
+ <dc:rights>
+ <rdf:Alt>
+ <rdf:li xml:lang="es">Este documento se distribuye bajo una licencia Creative Commons Atribución 4.0 Internacional (cc by 4.0). Por lo tanto, eres libre de compartir, copiar y redistribuir el material en cualquier medio o formato. Adaptar, remezclar, transformar y construir a partir del material para cualquier propósito, incluso comercialmente. El licenciante no puede revocar estas libertades en tanto usted siga los términos de la licencia, bajo los siguientes términos: Atribución. Usted debe dar crédito de manera adecuada, brindar un enlace a la licencia, e indicar si se han realizado cambios. Puede hacerlo en cualquier forma razonable, pero no de forma tal que sugiera que usted o su uso tienen el apoyo del licenciante. No hay restricciones adicionales. No puede aplicar términos legales ni medidas tecnológicas que restrinjan legalmente a otras a hacer cualquier uso permitido por la licencia. Avisos: Usted no tiene que cumplir con la licencia para elementos del material en el dominio público o cuando su uso esté permitido por una excepción o limitación aplicable. No se dan garantías. La licencia podría no darle todos los permisos que necesita para el uso que tenga previsto. Por ejemplo, otros derechos como publicidad, privacidad, o derechos morales pueden limitar la forma en que utilice el material.</rdf:li>
+ </rdf:Alt>
+ </dc:rights>
+ <dc:date>
+ <rdf:Seq>
+ <rdf:li>2023-06-07T10:43:50-06:00</rdf:li>
+ </rdf:Seq>
+ </dc:date>
+ <dc:type>
+ <rdf:Bag>
+ <rdf:li>Text</rdf:li>
+ </rdf:Bag>
+ </dc:type>
+ <dc:source>antique-spanish-units.tex</dc:source>
+ <dc:language>
+ <rdf:Bag>
+ <rdf:li>es</rdf:li>
+ </rdf:Bag>
+ </dc:language>
+ <xmp:CreateDate>2023-06-07T10:43:50-06:00</xmp:CreateDate>
+ <xmp:ModifyDate>2023-06-07T10:43:50-06:00</xmp:ModifyDate>
+ <xmp:MetadataDate>2023-06-07T10:43:50-06:00</xmp:MetadataDate>
+ <xmp:CreatorTool>Noel Merino Hernández (muxkernel@gmail.com)</xmp:CreatorTool>
+ <xmpMM:DocumentID>uuid:f2000a3e-fd13-4954-846c-95fd1d7f754c</xmpMM:DocumentID>
+ <xmpMM:InstanceID>uuid:a8205f7a-eaef-4d1d-89b1-d75f75467aea</xmpMM:InstanceID>
+ <xmpMM:VersionID>1</xmpMM:VersionID>
+ <xmpMM:RenditionClass>default</xmpMM:RenditionClass>
+ <prism:complianceProfile>three</prism:complianceProfile>
+ <prism:pageCount>4</prism:pageCount>
+ <xmpTPg:NPages>4</xmpTPg:NPages>
+ </rdf:Description>
+ </rdf:RDF>
+</x:xmpmeta>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<?xpacket end="w"?>
+
+endstream
+endobj
+15 0 obj
+<<
+/Length 5286
+/Filter /FlateDecode
+>>
+stream
+xÚí=K&¹m÷ù Ìez_E"©¹p äd0¼ã
+Š_’Ѹ©¶3cÒ€!–$›
+úR\?»mŸÝ€¹Yv7‚ÅzzH0<ƒ«Œ ݆%¢–Åg~1˜6—‘õí§ñ€‰)õcùÕ¦ ­3D˶µ±‡²‡¹ó=Sðí„%bükPPº¸FFÑP!lP˜hý‘±B*-k›
+\…2ñ\c)ðÍU±IE†IhØuÏ Ž $¢´d¼ÌQÛ¸¤ä¨§Ý´¹¢
+ΦEnê ” ç“ö‚Ñqà;þAÇéˆ]blõbŠÐEÖ…†9°y)ÔèŠÏ½à °D\<ë‘ ZŽ¸q¬î8(…”qÐX.á‚T‘ƒN²¾×ݹÛG®<½ë@÷Š(m$‰AS
++p˜=´…\ÿ˜ýœÀ¥STü<¬Ôܬ9fgœá-¶ãG]Œ!ÉÐâÂi—I†Ó=  .“8étÐ à^Yhë
+e¤…Ðëø“É|ïra•]u÷93ý€‘Ã%QÃô¤;ÎÛ^a(žk˜þÍ\;ˆ]”o}ÄÜ Sð‹3-¡Õ:„¹‚:VU¥é9‚_rJ”\®þš\ôî‘ŠÒh îX£¡·jã†ìµ‹±¡Íû‰ËOáv²¡âΪ¸wZðiÈ«
+
+Øõ‹"•`¯k:¥5Ñœ
+ÇH oé€ë’B ø2G—r*Yaã¼ÕœƒjõQ"ÐB–Z)Åj ˜î‰z øvJ*‰`:Yî,·=|³nôÔ€3ŒìA)òΊøÏ9Ã8%
+©&]A'­¦ÍѱAá%thòn~«Ø¯«—·´¿\øHð½O«=â?dÁñÔ|/B½B>—‘:5ÚYî{¬±3›[5šºàÜÍúxÒÛ‡HãG³ãÜ
+G`çËôÂ"p¢âNšæ>7Ò­¢³~!—Fö‡qòêÎ[ÈÙOuÙ‹Û/Ð.=VG´ßùo§Ô;I/ý@ÏÖ!ö–0µ†ãŠáõ¬©8Y³ª¬"–²!‘îjUÌœl%Œmf0E—8}ÁóžÓ
+Є¯9gÉ°p žg-™µ…¬WŒFþsÞò9ë¯HúŽ ÁøÇ gš%•|@¤u{V–m¢} šæuÄ!¡³Ø§­È)rÈ[!²hÑ´›èÉ!W¡³Ž¹
+ÓÂú[I{Ë( Øw’Òg6È([<Í,È'F6ÀØéâ Áˆ6SºÀ'©:’oDú²·Ä¸JrhÔêÓ#Ž©co¿®ò Ø›ç…r„ý¶«
+œø7çìž"&7°á}±R–íB§ŽGØ,AËówsre½ B˧)­^²7ДT6ºÔ)òËÀº„IÇ©O2reiIñ,:BÎC;É—c¥óÝY_ÆÙ k­WÌ%é`‰çç;žÎ‚´,Y‡½žïm7nÐÀºxA×ÒÚyZ–RAñÌÎÊRvh|jüÁ7sþPàÏwü€Žã í]Ø×…þ^ÖŸœ¡§µûlXôz9ˆâ/Ø#é±¾$CN
+ÉثΣ,»+BI²¢å®…£'µ
+;7h2ŒO´l uö|Ä®HŽYE{6» v&¤³Q€¬trÄ  …]<Íμ҇½²Êcˆ '# _Ö÷en)äØ…x<Í[ÝaJãnŠ‚,yé惫|bó”S@ô·s¤Ép*Ñ‘ëmµ;¡óI, Në 3\o¤+^ȉ‘‘Õ3X)hëBÙæ¥;àÿ¨%4”ÇYDœ%ØîÖVš%:Û@î•í$õ¤®ñý±t¼@ Qì _OEP!¹œ4-ÚÇ2ØJL\å£Æ$9K¥A—ÀP¾ÊÞøß«úìQêhq¢x¥:NÎÖƒiØú²v¸ÿû³ ìTdè^¹“Y+òûŒéÕçìñ"Ñ‚²£Y3cÛÆØ¡NšÖŒ,r+ѱ²J1„ª¦»8Ó’u™K
+Heˆ®ˆ„LNx*ÈoæÉrÚRçÜ‹N¨’üt¤ìœuAî8u]ÎÝ9zI>}Ï×CQ^.¡`·~e¢ì ‚¡+šÀÎ@Ž~Ÿw²©Ùåuso€IÚ8ý \£çî±’r 9¶Ö‰¨jÖÙn±ø<g¡ìÒÑž~¢òfÇy–ŠÐ[{–…rg…Çt!£&6ßêÉ<9£À5zo”„º¤Ðøá½Rx„¼qÞÊØ¿^ªO2ÇcF"wJ˜6ï™s;jÆÜ>“6ƒèŽ7o[é¾ ®Û¹µªØž“c%Üü†¯pÈëÀ§‰ÍgÚIÎO¹Xé¼ûÚ#VEŠr G*™®äHÜüx•Ü¯%™\-Žùa.—/&®ÀN5°Þæ]¬N 7°þðѹä"EwrÆr 4ùjwL'ä{ÅÎ*p>–b£Ó³h¸P¢ÓŠ+·[ *‘{§Ñ"ŠOœ4©4’¸œYåiœ/ÃN#PŒ>ïHuš8£˜8»÷ÐS<ÃÇ“bè8ô™Ké³\âìù<fÏŠëÏ;1)ódMþ4g¥õL¢Ywàà§X9?÷MÞsËP?M"—näºç¤ó‚D\„´pw¹ÞÒæ$š˜…â$Êqkû0 Þ3˜cgÉä>çOë ½Âù™v1h÷Jº¢`Š±¶~:rb[ö
+±±È½Ë^‹=;Oá´s•›åZÇÓÊÊÁC.³<§¬‘cÏ*]ô¹%ú¼èÙSg‡s/,»{äjÁM¯’Âφ±‹zà|To^öwí¿)m`Ay£øÌq Cå Œâ3ööéØ ÈûiðnEu—º1þÇÆX¾q=pqî(ß/¼áïn´Þ‘¿ÏÖU;‹¡±Ž«¬hœ²¡yó¤I§?®{_·âïn Üyá‹¿|*®©ßÆà$T΄tÒhPqZ|UEf@)·G*Šž¬zz>_ï×=Ó –Ê/ÞV·ÙßÆÕŸs÷ ÛýÓ <:¯b(`ûäœHÞ–—znŸÅ¼á£èàöYª_€ØU‚©GŽlŸ°ý»óÒÂö¥¥|uîëK Õz^|·^\ç*ÇT²^oýx¨¯¼Ë©Ê îê2á]ñ®InŒ%t_ä'ÿ…Çû;£ª•K%ò|ÍOEX3|*‚ý;¹éøf¥¹Üßßl´¤Ûºò ¥¿¹ñÔYÑö•+ßÞh²’ò+ÙR¼RSa”ÛœÝø±¡#YåÅ›r,gB÷äU…ŽÓy:€ ¶'A&”£Ÿ´Q~Akýj£?ƒª} æfªvÌ‚ï)Ê¿DóõºùÖ+ÛWž3ýc&wÈzýà=·âÆïjP‹L!~!C6Ô'„Í@<U«<§W}UhÅÜÞá×èükÎ}
+<ŽÖæW—ÿÒ<Á˜¬ä2zñŠ5BñøÚø]†Â¹~Á/æ+ð‹úŠ´8g¿ºŠ_ˆƒ#ö¡í?þ<ï°Ýµý«÷ßhÈå>³Ñ$ÝhŽ&ù ø釯q•i{H÷…¿V¸Ñy‹*žãö€ïÛiiŽ>~µè_xðÿñL]þ»_YQ~|Ek/ì—‹ÉN«ßÍðâÚ®c27†ó_UøoM˾éY¢w—Lç¿ÄG bÕb!?@Y?O­&Ÿv½ái^>C¬¬r †4 Å{ãõ¥¥%/C8‘¶äÉwAöY¾Îÿ7û–kÚÒö*ý{¯OÓ^´ôµ(þ+ÅJkŽƒÕô‚2\âlɘb‘Pè
+6ž› ê†(•x¡F‡¬)wÂÈÉ„Ÿåd¾fâC×Â|µ ýcil%XŠ‹gyUËæAÙ ú5zÏ*îúuûÜά,4Y›ûJŽ/Y}RváŒÛ¾šþÀŠ6lé¡ISt¡jÐËi9#ñµšþÅÛõoß¿ùï7¯½KAÊÿ!_ü?¼ùþæé…ÿKΧ`ŠO?æÈ×9Û¬Ãÿõô¯oþåÍoÞßÓ /—¿ÄlÙ.?\(¿Ñ–µà¶uË}YàWÍ“ã#7\äbýG³Ž¶}%gT•ª¶ü°ŽÛ¾4ûíCy ë*øºgÓVºÎÔùu‰2ß»J6š£8Ì’z %WXÚr¤?HùªûW0fhÙa¢"ÛªˆßŽðP~ˆóKày$ßñ #µ¦hëÿàrÍ
+endstream
+endobj
+44 0 obj
+<<
+/Length 3034
+/Filter /FlateDecode
+>>
+stream
+xÚí\Ko$·¾ëW ¤
+¦Uÿn’
+¤=-ù]“Š¦%äiU(WéÓšÿ1‡Á™ÌýíÞË›/ Aby;¡ÑŸV~`Τµžï¯MóLô£5¥¯›”ŒÐó’û&Z©™ÊÞÙùŠ•\„SvXHȪIÌ +Ý,™= ÅƤýgÚó´*¸eæ©B Q÷Ü•Pe‹ãþFÇóЯ4ŽS±ŽŽ“é××ÌEøÓË´Q>€Ãæv&¿Ð˜Æãá¶QÍâmÛ–¤¥@Ä3ÂÕ%‚4Å%®þxõËU<Ü©É H2úÍŸ~¾úî{¹{¤ÿ÷ÕN
+~÷kZùói©¶ñ¶ÿÜýõê/Wòè[ê} ä¾FKO¿ëvˆcþp˜³óf^I8— _åš:¯²ütñ)%­4Mzô£™+µÌØ?¯ÂxªiS$îkíˆýÊ5·WZx—‰KÊæÞ$wÙ]tsoâŒ7-‹Í=ƒp³¬Óu÷0]ÌÂ5 µÓ®›„É|eÎñ‚XqR…´t²ôÇÄ(¥AÃGæ:²Ôl„~¦ßýæVI^º¸kŠ«¶N(l¹ÙöP“!3â";Ét@¶å`„ò!Ó— Ñß$e'¯™ü_FÝg31l’'•Í,0ÅÙÉh
+›T’îFšcA’£‚Ú()ôÉ(ÉE‹âÒÁ(ÆWŠ-ቌU–È…Ã >Ž(™Ie%=µÓò¶ÚEÖÜPC!㘵t¯h!éHS–AåŠ#¶)Ê ­dfœÙÿÀ(…4îB7„¾’tH‰ÏŽS‘Q¸Á;Њ,"¾3\'å`›Û—¥Ðåµ]'ÆkÆuƒŸ$ÄjuÆNßTø("È€CûÔ8@KJ•C@éggN›õVŸEº£ëoG<+¼ ™È>Ú
+÷‘ÎåÈ-zÛÙ› ƒ5kö~6C<Z0‹ö›&!&9ˆ !9CÝës45ynb„¤-+Ïm28ÕôÜuh9’3Á&Œ¶ýÅs„ݳù¯˜¥M,)Om‘SìµòxóÔä¯Ca3¢ IÉ(ÂtÂ;Š>Þ‡›§»¶"w<èE¢&GûOUö“i
+6¤øÑÆÜEÙ[#£š1²&hjó¤T þ¨K€20º¤ 9ý9«é
+!´„P"SG?6“cÛ‘è¼e`·$ýU^û›K¨\–žh¹¼õiKF™¾epƒÎ¸úlhåÂ2¶ò‹º˜§Œ¤Hº•¾Qh¡ü¤MZ[ ‰@ÊìL@%i7ÈV(º!G?W$>Ðá¬ò¼¢©˜²fwHÕXj•v±èg’¯9*'G‘pÄ$Ë*qô)ÎÕfV+žy¤,Äm@µgÚŒv5ùA'
+Z…›'úÃ W/ Ÿ2^j¡
+;7¾>Pì¤á©;’,n&Þ,ÊÂËÄ:fçïy#þ»ÖŠ wi¼õs¸ûlsϱ¹æì(V¶XïîîÌ…\]®³mºTïÚ’pjèx~ÝñôÐñ ó)tX“²MÒàúŠl±AßÀ£Ð×¾…õd¤q–…í΃2ó [\ûÈ诒aûXïDìXÅôPZ¨4Ëy„x$|s;KÜpÑTLaò4/.×ÑȤbi Úu¯Qeø¨ÓÙÍf»à =¸0Ÿ¢ ½}Ó‘RöÔÀ¬ËC^8mVSk9uøÞšèûX]‰ówodF,éøS7uÑvÅÎðlWAbî++…z1…Y««¶¡«O¼®Úí&Å=;–íŒ
+endstream
+endobj
+48 0 obj
+<<
+/Length 2525
+/Filter /FlateDecode
+>>
+stream
+xÚÝ[Kd7Þ÷¯¸YLG*ãóðKlZHR6¢•HLgÒÀ†¨AB°ÄoçøVÕ½¶Ëç>ª«3™lfJ3.?Îã;ßwì²Ãß;üþî·w¿þFÀšd  zÆ
+‚O±e¿šqýXù¯Æ¨J‡]ÙðLaÚv›‰üN{HÐ>m%á)ÎIìû&~_ÖV°E\I]¨+Ûß
+|k%8AYÒz(wJÍ¡wqQ‘WU9{Ù’Y3X\%´P&.®æÊì/ J³
+µ‰exPD¢ øÙÕ³Fà„ñÀ¥‚íhí@ÍMJiÑS¹ãa‹cKÌèÍØO±vÿ8¡d’{ËòQÊL¢æ™?ÞçJ§^ºÐ‚ÓRU¶ò™lXodq¾ú[uN…s0'ƒoƒüxÚµb/%š
+ötŒö¸9-…©ÖÐj3ìlh]Eý(üK.§ÏÊà-HIý¼AâØc}E´z
+Fÿn@¦J¿’@r@6·8Þ¸°Þ¤¤óóuÂËÎܲd•
+Äßšr &«>Ð8qÁüv†¼ß£*÷=ÑÈw:rö(s"ý<ŸhììóüFÉbDþ¾ÜøÉ^Åב~j.k¹›áz­h%|Âk ñ©;HjW±¬Úº.lí29ÑoN),ãAëý5m†•üž2vD\mÎ܈ùÛ÷fÔãÜÍ‚Ž»×>P ûÞ®ïy´äQ„@àjµÍ½K*Vÿ™°{ƒ6Kj«ôjJB'm_î#«oy0#:Üþw‹Ý*wCêp­/ÅAÜq‹Kͪ 2MÇ`Î÷C?-%Ä×™cƾõÛÍŒ?ªóßí2§O<Ÿòhµ+XðòÙvúkªº¯( ågñܾì^|õOR’á3ƒ- I7+Z)å…HÔÞËÉX Z‚}«¼q-–œ‘Ο.îƒþÜ%´t‡Ÿ™ý† Ç(´2ìHôfEÎV—$öVH'ü ²m·‡iòèÿ4,Ö
+endstream
+endobj
+52 0 obj
+<<
+/Length 1502
+/Filter /FlateDecode
+>>
+stream
+xÚÝYKoE¾ï¯‰¤iº^ý¸!¤€”K„XÁ!Î0p!.äÄo§fìîwí̇$œ¼²k«ëùU}e?ü2øá«ÃÇÃg_b
+€Ë"8¢w)„!ê¯<êon†—W×ýÓWÇç“0 à]ö&a
+KÈ
+‡÷&KXFŒâj^¦·½è s9¦AdB¹+6
+ÊêÂFb3=¼xWªè|߶/ék5½„]]·Ãî‚mßyô{ð—Û8ú2èÏxF&ÀڪݡGÇUà‘À(Fðh§Mœ=Ÿ»œîo±kÜä¬B ¾ÑbÑÃ}¹¼îFPÁ‚Qm²Ë×YzË%Oëù­MÆõN-xL%`ª¾¢ òHäL“‡l—¸¤¤vj0ƺ-ëv´‚1©¦=0¶¨#vI½›Ÿýé鮬U H~—PÖXGÓ‚«)
+ÌÚ{ÕÀì=ÌÉéǶ =õÛ*9|×ð;"²Ï‹k}˜e]ÃÛ⥼4Å0`LFØ⥻h©ì§¥—³R ZÔOØo8Mn¨ï,&j6tò_sSzçÜôí^¬orUG<¬"ÎB÷f犼m.~ͨ°7&µ­P¬3ÍA>o]ä]›\Dö·('ü8§Zg¢í­¬<ðYQ|ôóqç̲–ò|V´™Ààâœø±3:gžš*LýNÖ2¯.Å6 hüÏ:xQ¯½Kt£²½ÎNaÒÝ{Š*Yˆ¡w\ňzpµ×pá€7&ÏÊ/9’¨¦`tš/·|6l‚vŠÆ3–éú eM<ñ辉¨«&ŠNŸkJrÆ­œ5{ÒÞ»÷㜠>F"~ÂvݽvÖ9"¾ÛOêhÂøô‰ø¼âõ Y÷;蟯²9Gû ‡úvíBwk]?YÞ!ñŽmVÊ
+`>Ê›…„QA¦=KŒJ‚àÌ…B“iÇ…‚AÃï­Cݸ&[§I]^³u5:Å#Z³sÉ‹)>ê,•^´W5Nº§oÓï¨Ämû­û òq%D>­Ó¼1à¥ÿÙìA„ñÌý€SS¿æù %…žûg¬hüŸ´ {&Cw(ºü…l›L \šÌ#‘Vîä}O,þåÃÚ-$ëJAV°F¤°æo‹Çpó}Ÿq20[gœ»©
+¬‹ÄÆg5¤­3Î?™Õ`
+endstream
+endobj
+73 0 obj
+<<
+/Length1 900
+/Length2 45447
+/Length3 0
+/Length 45734
+/Filter /FlateDecode
+>>
+stream
+xÚ|¹pgÝÓ.Ûv~±íLŒ‰móÛöÄÖĶ“‰mÛ¶&öÄ9ó¾ß÷{ÎÿÞºµ«ºVw?ýt¯^k蝹6‰¢
+ƒ°©½1𻽠 #3/@ÎÒÎÒÞNÑÉžAÄÞÆÀÊÈÌÌ Ç0µ4qÍ-íà˜þËÙL*ZÂZÚtÿc
+4û/”™=à¿cM]þ'Þ èäü þ—œà42µ·³ñü¯@y{K €ZÔÞÁÓÉÒÜÂÀÂÃÃLÿdùW²þ+Ùÿ•\ÿJnz
+Dj‹Òµbš”¦Ý:ÛÞ)|ApT#ÕÄ—žÙ@üQZx…©LÁõ h2¨$WÆJYAzÅ—F8jÛÀYg¾á2Aó­¶êO¶ÙÅ*ó³ZÊ
+)\…?þ@&^„$ QPQ(dSû`?2âMD¦+PiæÃ¥£7CFS6 UÝM{„9ËYo³‹¼ã
+îL7ýäQE= +ƒ!¶Êr—í†Öi¾Åï1x¿~‰³“6Ù%*\
+©oÈŒ“8L›B74"HéïTà:{ÿ©Îâ·¹§Ò8æy„»Òv&0FvœB:!OÉ6xVò\
+á…?Û/ÍÇÚ¸x,'o‰ïr$ÄŽO—îæU¥‰Ù¤œðg£¤YCø§’@†?ug´dÙñ§7´+*Ü[ÓƒR1£9¡ÕõÚ(%gÐ[¨iåªþœPÐ)DÓ˜6ºw1 ¶‹)¢ÇãUo¬‘Fš•‡*¹ýx™™¬ŽÛ•¦ÏɳÝð§!_ÀÕòxPiü)m§Ü¶CÎ ›O»6râægÏnª~ª¦ÞóÓ‘ˆ-}RÐç~^#šY”ýtÉ¢
+²šM(,$#—F¿Ê ]ŠÙ¡uhªŠíŒÌCàòΤ*Cüu—T›ÎUW#ûUȱ<Í»5þEaúg"72Ÿ¯™T¦î–]!]-o+_¦zKuI'‘Ü¡ýÓ¤g§ñ£JrO£Wо—Tª ƒVžΣoßIú2¼ö±×›.¬$ h™åwÂBÍ'I¥Ø'ÞÖ¿B¦ÄÅžJøUø†ø«^ÐV¼Ì:5i˜ŒøÊ«\*ûŠdÀ;°D¬éBˆOUYÉökûåâ­ å¢Ù½2A’y“Ž3HÛuðž0è‡jtÜ;FฺDÎüøAþ 6kÚ]£XðçqkyU{´÷F5ézáhª9Ð3/ßËZ‘Ùu½‰Ç~c¨ÍH<vßi!©ŽiÁ#q'Å»÷”„2R>βA,”5+•¾l•|ÎfÓÝNþć„Uno47[¬–ÀÇ8j/ V°Wý•ÚtÁo¤~ö:æ”ô>ù¼Ÿ¬ƒÔY{›ÊöA÷_™çWùî“a…1xY=¯—³~kç q"×Vå §.Ͼ•P’ü M”Ôš/„®£¤ÅUê½™ïh{¨Öå »ócA‰¢_VÓCK`Å4áv1j ?,/!,bíŸ÷U¦`ÏcI¦®ð>ýù B|ž}: O™Ðm¯fÚdmËÆýló¶ä Ÿï5gî1:NzÝ ·S'ᜲìduEð\ìÁtwSŸ¯R(´_¦î%²,É&¼sæÌ\îÙŠn£ý ý^ÛÞ,‘J ÿÛÝøJ_Öö‘‹ô#™ïûQ½hÎÜYpn‚}¿!Ÿ%¬¤k¸Cr!wÍ«‡µ¢¨-G‹É^’XOŽÚáÜ+£m…mÈÓ5öÌRƵü~Ȳ¢œ‰ýnW¶üY V°"QxŽ‡äÛ“äé’•)ñx‘™>1yÓ‹‘/Œ·TÌôØû.°E ‹ÜI¤m¹'ßrÀTÑ
+Œ”®ÂÕ *éN’#¥D|›YðÈrVZÌ
+ZÇH‰5J¿åùzÍé’ƒúÌšO¼Ãª°%øu=fÔd,;&®Jð­ù&Œâüp&>hS¬–aT‹£vd’!,ƯzñaتO ·ãA‹ïáÅÜvÕ^t¼;‚ÒdâªÁE–H”¥Þ
+—O‰NRL(5ËÄü,1‹ÆâþÉD™=U
+‰­Éðù»½ÜºûΑ´¼[¼’è{¸ûƒÑ_Y™Û5™G£Ãx¹xÅÒo?ë…þ° Ó…rÙ<ø|‚&yÂÅ'nÚêµ’ÐÞ;À¡æî}²­[XñúU™âLø®û3kGóç@©gfN¦c
+¢#kÝ&k€ô‰·E³t<Êq²ñR";Øø9ûžÛÚþûˆ-œÛèé! ÄH&Ñ›Ãø[99ßo¢rªN'E#y¥³ÝMn¼9eع¯-0nN&žà.†Îc+ñ4 É‘­à O1æ¢*¨µ?<q} ˜#ýÆ0À™Í'tÌ-Ä…0ó$åX-«rƒr±7¡qD5ñì|õLäèw~¦C€¤ÅµŽ:¹5lô¾äÖXro`ùœAKË ÙÜκ©®r6aú›H Îêñ”ÓQÁ)éºÝ•B5dR l©¥¢Í il°×árßS1- Êß·‹¦×ã¯æø“ñoŽ¯.}³wÛcHò½‹smÈ—Üó Ž®Ûê3u[šãS1¤ÃÖM‹F¤>j#0OcÚ¯éÕæ Ë8ЦýBÝXô¯áWb!‹yᾟVbTወf)•O„ÙX¾;Üg|mìã‰ð\Ñgä,aŸmèIÞŠA]EC·¥•SëØäcä}‡~»Y< ^{ÈKš”«P­œ´°~|ÀA¤RCnüL…¼åf«?•CÞy"œkï >[ XÇnN¬üäémŠ•8O<Z¥ð¿ˆ¹}¸wžúû5â¹QÎôX™X„‡Õ9n÷.ļÐi/‰f¸œÖ×Ô¯š– ;*Èé0‚Êääý³Ï«ÕLǶ_”þ|yÁPeÉö¿.£Ðž¦Ò€Á]~º´>z±½^
+Î’­~G{ÀÚNQ¯5÷!W
+¯?- Äa×/q2“-`üîOW­ËŽúÂΚú]sÚi*K¶¶7Ësœ±@­*»ÎÏàbÕ¹‘üPt;ë2Ÿ+"]¢¢ÌˆEæûiZºÜÈŽýô-`>ͼè÷J²QÙö`4¥9Ö+dÓ‰ÄogòÊW1Ò”÷oªdŽ|‘ES%t9Ôx¸ñ™å˜û¼lX&²Ê>HUÜw[G˜|3ó¾éÂéþÛqJ-jí_åÚ,1éïø9©4¦c¢‹# Wîg)g×èÐÜrÈCþw2Mép+ŒŽklpµ+w!tøË¢X[K”ÖyqhSв®²º±f£Ùb$ØuáTÙï!Ùö¶ÒF
+Ì87C>±-õ 1üÆåŒg%â¤ÉÏe‘t¦lÚÚIèç5hq’?º;§W»\O¥rˆÅt’˜TQózùqÃÜ¿‹ôê¿X¡6ªÑÆæu²qeï/ïaª)ñAÒôù
+<E„÷wdÉH³dêçl[ß·üÇs–È ðÐâŠ%«I7+«ÝÊ"ÃRäÝÙQtŸé E>¨FP‘.¬OîÊXêR©,
+ãÎ’o—ž‘ÁE )tûÍsû˜z,Gm§ßRá‚¿ýpó§ ™È@1~‘³Õwy‘¼@_ú?UFKã z¬ÇÖYø{±¹›ìêH B$§„ÄÌ×Ü×Ê;¥ -õ˜hÏýWÑσ4Üjõ›½" ]üˆï¬Y[APL.—ç÷êø˜ÉVj?쎢çò^›ä,Üt"q28TäcÜù‘S)l(ÖiÁcúÎôÞ]‚~s°ã8Ay‡Eîý&Rpí™BÑüèq£zþCãs`œZlØ“ŒfxúŒ zñ{õHVt(m÷ÒËÂÍ'ËþÀg£J]®
+]©ÿæË…ûgØèü}Sc£)º4 ›<ûp‡¼³sLÿG„('§OàyZ±KˆùÐêd5Ú% ]dûÅ­û3]À¥ÏzÂÇ)$DÄ ¬àEÕh_ƒæï†Õþ¾ ÿ§ŽCrŒå=ø·±J$#W¾SÜÒúûñ­¬F`4VÚÂ÷$.º»&O½ÂÄé8™‚½fm@E
+Á?¥ Çê-}=ÃiäR~N‰žW
+}ˆkP‹«2ûOâ81{õöƒŒr!ЬX~_ïÜi Ï>Ó'Ê}«‰õ iÐ^}fÙüÍ°N+ö:‚.¬w ;c:1M _ÕŸ‰[Xkª¾w?N ×R¨ÔžÙE£Š®aÀR«‘ôH{®ç\Ò>¿*™- ‘Ù£Ší[¼­8UQ?t`øé­qùóx{Qê5¢C»4ÀÝ ˆ£# «h¤"½ JÍÚl³Wô)ˆR!üÚ§ÓßIÐÃ`ßcÚnú}©µ’Èæû½zOÇz|¬85”Þã Okb¦†ÏÏjgu~ƒ
+þÛWf#úAùÑcé²}M8Z¼_öD ¦6O¥ßüñ1}¯ó|kÉÝ
+"ûfEÀ‘?ˆÏÚÂõ+诇rŸ™ØChPw–EûU"üD¶¢H
+®mÙÀè·4h"Ó©"]az[¤;esq×…½Ý @ôxUodäØèb·mâ¤èØ}™#]8B3©å("a°ä{¼Ä¹Ÿ˜ÉˆE6›"ìÊ ®ØM8èÑ% _}áÕôrºÚ!…«4žr‹û·˜]ä—9‘âeð}éàD·Õ`p8aÊ ó µ›À=⇰Q¸\ö0Ò ïDÂ0ìÃ6èxÓr-þ²@áI:¤JsFö!éˆlGHÖB@ÕÉwLØoº_Qº)Jaó
+ŸçȬúÞ ¯ì%]Å;ÆÚ<“p š”]ÌušHÊãó[³:ªÓ«ík›ÀP1ñ ™€þ脳•¡ãvã{º¨p¡ßøÝƯ6iʵYvI§wúš÷ÀžŒ’27yq¥ÀÛú:+ࣷAN^LJ†iZ{y\ȉX>Ä”“œƒzÅ6#Á³¤0`Ѽ ®è!/•b¥"SÎ^Ôa9u¹yÇä»Ã}®}ß!™xM£¿¿;³D®Ù}÷ô/1ÅKñò\Lž6ªái¢÷x¾0ΗyÛ?·"ØÐý*ÃØo^&Q眈Üí6Ækòz¨o°P›O'¿7B•Âk¾·8ñJý
+±ˆ´wú˜ñÁ%£4‹³áæl&º—u˜ ‡™çïÀqÔ¾‰„/ ê©jLªj¬²üµB®ÖÈ"¾T…ï]XKªm+æ9 ,-Çé™ÈÛ{öÆ Ì@¯Z²ø’e×Õ½A3Ü
+5Û:õÌô3PÁK#*Þµ†ýØ_IØOЧ¹e:u0efÒIüÃ÷KJ/øÍ!É/AèÌL3ÜQ5–[
+¼9b1 ¾VTÍn›OÁ–·»F…mI;»ª ê–øÈ)€€¼Ešª4¬a¯™ Š~"ë!ïWe
+Ó-ѱí‚Ép@dŧu÷ã=õ°ÇžZJS°À¸"'¿O£Kɺ—eÍèzrüòLG×6r8;ì{ƒÙ…Ò$×r<ÖÌ×Âœ¦gs§zÞ²dáœ37R0§%É%­QïÊÚ
+}§™õË3Œ–'°É÷ã¾Kú•…•Ð¶’ѳ¡røKÚYêdb_㪥Ó)_ò˜à¯°-Kõr—Ö°ar–žŠ-9Uî•V¿g¢(¬\Ác<*zòKôÒb½½JÕœ—ºQDž:åÎÚ­:¬IÁÚo׿YÔï/‰©«¥ÊŒ%Qߦ²§êN"UV×±×5¤Œ(,JÕ
+$t§x#öÁí¬6ÙEz—ô¡èwÖH(]P»×¿‚lÁí¤óIAyR؇ޢetoe¤Äîʬ×FA<LyÝ÷=ä“üš¹WŸJ¾žSèÖ¨e¦}ÃŽimÛ¬)7»ãí++­¢¢N:\v&é ŒÆ×;‡÷ÌR׺@ÆùËôTyV?¯‹½Þ'l„Ú!©e˜×m1»iutœ¤ðv÷g|Å|ð­„
+k2Èql°µc9; štÔ« Ù[-=–fhY¢Ž€ð²neS²uu.9`¾ªIeP…*”Š µ“»¤dw²òL&¥\k:aËï§pý¡ÎOÃ+\Þ•Ö§‡‘V}ÉÛ½¼E È‹
+_Y@›S7/1(ëE¤³5°›hZ0ÎY©¨VÓ^ÔÓ)$é§ÅÆŸxÑP‡Úí.©—.qÈ×û‡6ÛøC&˜ ª5å+žÕTÑeKê,Aük#r Äâ¦üÅëI¶ü ò›c¨1aq Uøéûó–!“ Êþlß"gµX¤ `gaÑuò{¬Ê*nÔ²|TQkKÀÏŸ`äªë\‹Jœ<«„–NeÕ½úl‘˜SS-4¾;.Úö` ý­¡Žì‰¸–ùÂyàŸÇˆ:coÙ«žŸ·g¢H‰Iã7fer˜Œó
+/¯$çÀcZ?RàúVó nÿx~³*ª:) pç^0œõûÕ× ~Á—<üç•®œÆwŽ&ɯé:F÷†ççå4Ílù=œïB²Î²råçVœÓ;I–?m¾¦Åã#œ‰<ƒˆËÚ!.†ãê… qïLT þ ë…q„2Áh¦mØ¥iè;¶“„â¯uŒ•j†=X¿CˆKÜ3QåoªW½`å/û$cöXW8â"˜d´ ÓŠ”¸\WiGHü´œ&ÀâMìäèàú2½U¾.ÃôÙ”Øj£õ=Ë¡ZŸ½Déc(}Ç,jí½$–Þ¦#ìÉi*
+ÜiscÞ0+‰Yµ®E:5
+t¾‘¹¼kX·¶Z¸È¡+°¬°Ìãœò—Í{<zËQ»Ùþ߈ cðÊ»¯<æËɧhæBˆ’Œfê¼ìbJóË%œ;ñò?¾3ãúß´76¨ïÓ°¦ÿÈ‘7Pæ½> 9¨Æ¤·”S(Wš%¯ '0 &Ý¿Ý™»åù†…V0Äv¦§†“z׳ŠUÿôÝãjT |lÿk×+%? Ý1¸VÎÿ o—ž‹[tÞ+ÃPŪ Kì8˜´{j¬çuìˆE|#l¾ûõ⸱W>—ÉâÆ€íöû›ËUªu:¹««¤s¹bé0|”´½8ÄknÔLNÇ7Å[ëѶ3m’¸]`;+‹ÚÏp}:äãX­3j4¹j†!_(Àïš‘>°BoÚè›3c#šîæ÷ ÷@ÍfÿÅÉfàÕØ] ƒXV± ãµQ¬5ìyÅLü¸´7£ed*ôÔ#Lñ.vzånÕ.¡„Èð©*…µàËWࢲ“ æK ÕeYN9-k·_ 'c»;}÷ÐÄ{(Y`rí±@WÇ%LÛÓ1žºëë ±!SU’ ¶Û6žâõ~΄ÐØ-{]-’£ šä¶ý'5CŽÆo
+>Žèb墾™”A×$Ík3!ë3W´Ž^ +õÿ)¸`h
+k˜4zÍz¿ŠüPêVÅúŒö„”Æûøî-®ÁᥔЭ›¿†­QVR©]f˜ ß(Ô;~Ù»<3'@þ S!ìÓ~ÇÌp¨²Ô­FVïVÞedvrh'÷t÷MtÌFf1½ƒnìSøäçÇðÌ°3{_â’²v-§LÌ~¡q¼wKÑqjï䵞ZÅNJÍõ¯,?h¨9IÀ5µF·Y
+,¹@[‚ÙÞR´yä,w×ÑP4§ègÃ@\ˆñ9Ò«£öâêQBWÍ%!u{4Ñ’×Ü´aÖ.!c£Í"ä€þñ^Ö‚M9œË<KVÕÜBzŒkUê‹zOåE¯Èpº¿œš«ò猕˜æ enŒ/ ¤Àj*ó"'94£i¯X4®—MˆkÄ42÷±Ó7ÝqF&^UOw²ÅÂì¹
+c‚øMú‹ïm_Nœ°ËœöD¤Á£Ó<‘[PÃð×X*v3GEå1r¼ ¬HÅDê¶ OÒIñ •Ð°ÃÀŒj‹Xz-I‰ý˜€ã0%*7[íFŒ³Œâïø_?Ô·ËË“EÚOB*CÄ7½Q
+³thp ðËqh˜„
+1ÇÝúáøíí(È9
+
+s=TRÌÙ,å²f/Pv¨ßq®`ýѦ7 ï”jïVâHãÊ­A]¾ E…Ãîàs „éö Ì·Yf±þ3)-`ùcˆyÜ^‘!=VË*šX‘½ð+%
+ĸ¹¹®YRì{ÏG5n83R³)I¶ˆiƒ%hS°ùÏ­VqòùOyL{ži[5=´J~b?#7ÿ쀸Xc°6ÐïT#.·Ç®‰å·5Ša} K¿’—YCšP5î+¾Óc™Ü\aÚ{ý‚ äÇÓr­8û„£F/T¥×9ô¨u Í2g—>RöutÕÜŸ‡Ê#@£ò•ž1öôäÑAæŽ
+n8ŽõÝ-`ö]Þ(-×Ìîä’|[ÙŽž‹öLO\ˆmÕâÝÕ*ì‘Õ4Ÿ×WÓÃsêþ9ž é>ñ^ï)œpøfü‚é׶ÑhïŸgzÃÉ·$¶Êy³>ÜBâfZ´X=ŒûL¼³¿^@ªø¶zd,jv¬Š|šºK`wš9íÑb1ah¢Þ’l5Ϻ¿Òþô¼iìívw³”"úʇ;Î’X?|¥aÔ„Ï^]®Éèí`Ë"ÀÊ3¾=Ry­—~Ÿ¤ÄãO)è©jÜ Ô”'á@ûCßâ‚0ì]NXä(Ù]oxfÿèû1¸õ¬:ïШaS‹ñ
+ N<´©ú‹À'R4jSš  ºëö~©oà{N´«Ï1IÄQÌ—5Ú_~íªO°»ºÈvñݨëz…üÞÍN¸]î¥bÝJÚ4£x‡ì]ãÐLÉ¡¿f^“²ÈÜ~ùZ BŸ}2ÝbaùãÈŬùjšÄ@ Þu'¨”þ1žCG°7È··ùmh]wO† .hÁÚ¸‚‡?Ò_ë÷ùÒ¦€@ù]
+ÑÉÔËÏ-N‡y›ŽÿÞ•YÊìc¦ü6ï†pU‚-mU¢eí‡Ï7Ô¿«|.É,Àw¬t¥2¹ÁGôV/?;¦vû«Ãiÿ{Aû ç0~LÈê°¨e N¶ø y(+iÂO[2#‰Îšo_5{·ìÙ—ÚÀ‚½Ná‰dß7lj¤ÛFzùJcy1¤÷œJ Ž䫔Q†Y…Ôš£ÙhGØ&ä®Ý²œBP¸‚ÄŸ]WtWÄÇï«—›m¬P¦] Û'
+ØhW†qYØÌPò;tã\û1üDâÖCç¹)ëÀÊ­äØwÄLrU>Á]0I,gm¹¬¬8/§²ƒX‘¾~T€Àò¹6›Ê–9%G絚CuïK­m±—>%µ3—vZölXvÙ&uó>Íá¯o ûïE‘§UY¸8½ ´bHbu2}Æ$SQ²jªurú¯bÑ©Âny”H³4†L”¼.—˜FÄÇnê»$M7-˜þY{–RŸÔ [¤ÚÇuUù`™Ë#Zqûî.]¯¨›m—3±»ÁÏåã
+'ŒvTùîÐn’ÊÔLBIúcٽš'Lcæ9˜%g³8ªjˆ}gô…å»u'tôß„ÎvŒ»¦ýS4g­¦ÐØmåMF'+ºåEô¼K;ÏPŽ‹—¦„´Ø1æŸr†Ò™(FáÙtiD{•ÇÞØÇ*Q
+¢ç‰‹_nÞá‡ò:]&Õ:^šp­i¾‘©b7‡x&PþiLüßWЙ~6ºü÷^+'ÔP¿ö^kÐ%á–˜0û´Å
+fì_ê½ •úÏ•Aˆ›O>ž}Ø,´çTwúÉ^ºí-^H@tA~^§Ê.îÒ±9âXå_ÒŽrÉ>>û{­‚µ·îA{¹/Ã}1qNBFºÅIìåg®319ç<Âôaol[gvù­ÅiRJ¤ïµ üˆT‹Ìš¹Ž„yì!»‰ìž„Ž¿
+4 ÇÐñä½üŸñC—?qšŽÉWHÌ¿ PzÝ«U©Ì;vŸgYiKï€gYÄ{­ïâ N@lµ”»#Jh"F‚‘ø3E赆«Øëï1Gp¯Øýc½9cèdBÊ÷ 
+™vT¬ç£ÄV(®Ô‰ëà×AJõÝ^»²…zŠÕnЮìà‡Ï*tÇž+k4vƒþF—È%©‰¶ mÂ'SÕ$TC“îÍòbœrìWÆl‡p¾Ïvq9F Íø¼Š¥‰K»}å1ÌÏztk–ÃeÚïYMesŒ)´Óll9f™BÁo»Ì¾¶ÂÞ¡¹–y^Zq
+«J$ªO‘r›wÂkûÛ6Qž|D·ò\s'h `8[±3ï¾V4¥ÙÂã«ÚnöÏ0¡ós§eu<†#¢ §ðtÀÂ9ëÒÀ‘šÒ*¢CßÝúé‚pÐFÁâ¼à®¾b\¬Ÿ î(Jµ˜I ½êµˆúŸßCX0s2¶q§4R–Ìî"ÚÉqÙ2~{È*WûÝ?²{ œ<Ò{¨mk%0UÓ¹Z'Ü2–ÔV ó"pDOzeœÆq°8+Z{Xî…¶žõMXÁ²ËRBGî̲jC™ï±ÙnŽ|ÁžÎ¢m§Ü3êA)~“|v³rËî‹×½(”’8@BÄ)@ÖœH¶7edº-öŒwÊB–DHœõÂÖ†Är¬¯Ã§1¯×d€Ä—ûÏÚBH.˜l6MÝ_ZÒèoµDLž—GÅãZ]/ÑÒ62å–nyš¥gåÖ²´¨W}nþ(,Ö»@Š\gÅUÝLxÆ/á&i™Ïàm)þŽç®”,u’˜6€ÏìÌ¡‹_Ä%WÁÀL, Y+ÁÐðbã¹[âù-zî°WÚ^h[vÒ3néòÐ<ж&à7P€°†Õo°„am#È#¯ËÍ2l é~jN5eâqqN;ÂhM»mÛ¶mÛ¶mÛî~Û¶mÛ¶mÛ¶Íý'ûh}w0S™•ªTÆx Õ{™Ö–ª¿¼ß£4ý ¤u˜ymó¶yÁ¯°Ô(ZÎá{Q_w5šH<ìèr¢÷!$GÉ4̠͸Г#xRß7€ÛÆ®z*–ÏQ Ï ;Pú'6Ù¬;û9ÿáf§NºŽJHQ]{’:{ûè”6èO—Ø¡®žŠ]³Åê1—s€šÀè"2Ò¸a¬iq*Ä
+§ÖÓ†^dyp«÷Q~|EÀyF˜6,¹¨f´§s@ÙpªÌj;ìÛ\Ø—
+Æ-†iH·çå‘’òßž<sø¨w¬}tP âÃÈ_*ê›m­g­ÂÖ!Dœ1g³)Øì³ËxâôsGT>±t„„…Š°=Â`?²aå3gÜ¥ÑK«M{ÔÁmìE
+Sy"ȃd¿^L @âÓk“ $¨ÇrKW-þ°b(*6|&K¡pw ÷棘ncã/ùIÙºHq«úVžìo[ñ‰¼ÂÃDk<-Ïs}Úÿ0
+Í=NŒx”êKä~¸ßb?úmP`#³÷â1–ÜÞù¯ä^n¦°ë¡57Nd¤[5€mÌža¦×Ê´qÊLQ;
+íš'VD‚¢Xà¸jÑùýás†HŒuì6CЕµŸv@úíÜT÷&%¿“‰H¬HĽ1DAáù™9¼-¼h03ÑŸ~¸œaavÏš10§öÕzÆ T@ÃÐÃ5 Õ9$—^;% /M;:Ib$ö£áêf:•+í¿Ú8Š‹”ŸD?žÓaaØ¡,‰ÁÔÿŒªgŒ5ïy»ì iDáñ>´O9Ãû§w I ¡ÛaÁN3²xÛùgëMªB…¤Ám»”yDXðú¹O0©p=
+&¥ŸãUv:RÕ¬å?cÓZÙº¡òXЫy˜ÿyÇÒ‘°*iò@n½ÈióØ;w†ÖŸ¡Ã”]­gé8#T tl9cMp¬ÄÚ ®?ÖÁœ®²©d]û¬ÔЊŽd˜;BÂ-+ ƒhÆœæùg]ý-¯#“ÁŸ‰GtšX_b`¾Nö_Û¥Á±‡FâÃaŠ»»æ%ÅUÐŽ¦±„ϬñEæóFó –ªË*
+#ê¯"XV¾T¤n›ø±ýo{ È;TÞ¶áØ»´Y+:¼ôìþ@›J©“•vBLYÏ5ðߤñãØÚ?áîÏ°[** k¤6ŽblÉÏ J’±c"Ù’s¯©…õcýßćRB8o¤
+;«Õ B®‹¥~a]
+0–”ÁÎ'Q´¤¸ìÿšÆ‰Ìá~ D;k_L^Û¸w¶¥giLê
+&ñϽ1RR<ã1˜SÉà”áå}¨LŠõø…¯ß‘¥¡—o¼s7Ë
+;ugÑȧ´yÑõÂkn¶¥¾€ÝhˆÚ#ª©¨¼¡¯ê'ðÐÕêJDÕøÃß«ÒŸÄíñ~i K\˜øOMðùi&øƒ2üß·¿h•Þ!'çûüèÓýï*悔Šf xØ^Ö[úÏ_¬lg"Ú*u×òcäFé4ìgIJ†~[|Ñ| Ì@žøl7²¯‡=ûÍl«gk†‹£ lrMgwêÁmBL0èêq”ñŽEÜãÁˆÁIG7w!~Œ
+½qÆÅæAãÈ…€ÏÛû*#³S•¯ÕÂŒ#²4A Ó:ÿ4X?vÁ!ŸfÝb&* ‡m?«Ô½±XˆŸ<«ª<
+¬X‡7m2-Õ ­h÷µž_¹Ò•àÉ_u ðP‡HÎÛVÙõâ«p[!"s4’vÝy˜NþŽFZ‹Úÿ’ƒé¿ÄåŸöèp=—ÞËÀ]´‡9¿À[›zµäG
+Ù¯HT3×®:I4pºU…‚aÈ9½A –!±•Ÿzè¾âh¢;vBµ¯m‡d¼×2 dI
+‘úLŽºXù(šFx±™D8²˜@鞤¹&J> ù­}©ChmZ2¿ÃÇ…ü­#Ó(»ÿÄWþ|óõ§‚À>Å~Ÿ5¥¬–Ø…×e‰ÔžómZ¶ÆWÿ`
+d„ #^SÅÉO$ðÝVPAOÉ\OÚÕœÊç²ÙëÏý,a½ÖÆVò0Jø}TJ$©tÁ¤UÄ°´@ôÙ¤{@),ë`êáìÒÜìØAŠ€Ù³ÞM9×­øOrZ(r Ëmª”vïz*‘„ƒñ›ˆžŸ«>WÅŸׂT’ƒV«Z~ °"MMcI9Y¶ò‚L­oãφ‰"Û@6¤$‡®Çæ6†–?ãSíP*ƒÏ<AžÀDt£ÇrÑÙ5®áÙ™"žèÕ®]ÃwÄ(qãñrQc@Å0Ü¿¹ÂiBÝ
+‚ÁJÿ_Ü„wLÁVhÃ%Gú0´‘>0jßÂ)ø/ö-ÌÃÕ‰#Úb¾åFr¼ghÇúúY^Ú»æd¸w¿1ÂAå½4ýë A¾4÷PI5–é5~4虣HèôEÜ'$yÅiÅez’ÍÆh÷Uè8…¦\ˆ2™Òíf}CµYâÆ4ØCÊÖ±Ÿ‡[yÃgÅ3œ¯ùHñÝ!ˆ]FEá󨑷(9*—¦‰‘l§Ä…ÒbÙæQ¨LÊiÉnZ1UD°Ê=º>\»ÅѱºOþå¢Pl7+F
+|œ!óBô~\‰Ðµoþj†#$É6p9ÃÑ{¡ôŒªbCB†dîP‘Æ.ʽÛoLÑf\–4D,w”—î±i²iõqd«M6¯†é,>»$è2&
+óLÈ¡×\ÊÉ8À[û¼ 2ð14§ïr°"È6Øܦp¬Žµ2~bK¢¡Ðá1cý©—ç‘
+ÐVÏåÑÓØlŸXî Éc{¿j™
+
+…ëkßS-§ûݼ‰åÛ½‹F€ê|D/ÇGfŠ„m %”¤"éBZ¼@ÂÐú0^¹ÜñéÊø®)uúÆ~¡b¤ÁCÝPF(~®L[`é…´¹™ Üd?¤È©‚¶i„&¤· ⾬A8`¢ö)½Mºìd
+ðÜÅÔÙ‘iü£]î^&!ù‘»ŸôÎÜü4ËÏcÞ6&〬y„e9#œ×kýÍw•=cšøìßyÇ ßý}ì}§#Ú”çm–MD ‹u •B×RÍìØG8%Ä™"Y¦–Rí ­àJ{ÿß(ÓrêJS:nÐT+p¬Àž¬^:úÂuAºé©Ÿdt-ÁˆÂ6Ù…ý.¦ Næ}OÙæõ¼Óûêà¿ñ
+yå?F®—@Ç
+ÅÝh®åy'ê ƒ¢. ªŒ3Ñbù˜ÆIlpÿˆc\mø%j&r–*@¤¨«9¥ÛÏR“øGJ­èá™\jüd«oÅ-„·ÚÖèö‘GÈïäÚi¹= ­ äí)¬¢€îaôÜÀgOLX=9¦ÐË^ËÇK½¯¶uMÞJ¶ETðíÄFå¶ïbÊËi†Ea#Æp¿íºSÌË0Ä—fèïèG,ÂPîNü4ëm4Ùl8© io3/sží—Ok9{ÊÄMÒªÊùÍWš,,]“3ÑÔ@æU኷j’ï6Ù™÷"¡òútacÐ]ÉajuØuEmg
+Ÿ¸ø·YŨäù<Â¥±±+FÙºÌÙUR{¢qÂ6÷ãsÀâøœþä¿äN}&˜$y8`u«Ú£’°QD{‹ÛÈÀcYSZ–®
+ÚõºRàB
+‡ãäï¶|£u•eDŒ/(¢‡¿Öú];ÆŽ‚0Ï<•‰+vçs|\
+€ƒiÚ žá¸áÇùüeI°Eå'_·Ÿ’.á7Ægì,­ 9 Ý›âó7ñ¾ö™êEy6­ýüç>þ ¡æï}ÛÁ^Cj'7¢÷|4ÂóvòÝiyâ:g¿»Ê\vø”ãYªZ·¾˜¯€7ˆ¤!‚ì
+_NÄpÄÐäH4ö‚)‚Óî+j’atÖ2¯tŒcB™½×+ÛãtÊ|ÀdÑC·7>®ÖH^ó§ÎòZ’ƒÐëÊ–h,ïí;›‘!”SÆ!—×Þ©éÛ‘ÔuyA‰cÃys­+b#î;¸ß
+1õñ2œŸ9³ÃNZìkm”BNªÒßÚ#2Ɋ㮄½º‹…Ö˜'I5xŠJÆ[9û.Ñ\SýÄÐ>?2ûãÁÇõÐÐ3‰”=K÷¼WC$0T¶žŠAøìÑT^ú™ ¾D¨ëM­'–Ð"Z±“—h*Y? E %¦uvñröJS`KÍw”üÝË)ô‡œØ¿0ˆzð!ýij}*óG‚ñâh%ˆTÓ%î
+ ÿ:ò¸Ï¢”;ðÎv Á¼qw"Bøºqnžž^Åü<߬ý›Ù*”gzÿæeT[Å/Š„QEr3^6ƒPÛ=Ó둾ÛÞ3u–oê׿ÛçÀ`zÍ¿ÎQNl‚1Ί•0PðxWðIê˜Áv—´¤Úâ²V&Š}"6Ú$aOÓÃeߺ>"/SÀ€Cî©^Gý3×ØúÌQI ðP††õ­ŽÛ%DfP]”ÿ§E ²XWö³þÆœå&/7‰VÛ ªw^4§ˆ>@ñ†çM’%2FŸ«0waØÌ!8ÉŒ¨oóo[LxfƬðâi©;>çÀ˜BÍÔsaí(ûÊô·*Ÿ2òYÜÌî3ÐNÇ*¯býÔšX5Œ X› j"ÐpBðÛÎAËæÒonŸCR<#J-Ì7ƃ7IN·P„Ú—SmŽMˆOÞIüŽh—ß+6¬9B°ŽkºaàöÊNgÿ<(ÖUç§V5ì¨J8W“Šù¹wt ‚¥NžuŒD¸•KëÞ½ñ»‰ #os£¿ðS4òrìÖ‡›è¶“Ù šÍ.î–×–šwDƲ5×™“°o–<+JÛŠ\Y”+ÐçCà8'S½)át…’-ÎõTA\
+ÇÅø'½,­žGX2õ~f ëeõFvÿü&+±Sùp¼¥Ý8Ÿ½j°ZhxÇ.ðbìšâ–5úx騕ÏÞï¢õ†Ì°'‘â
+ýØ]™ˆT±ùAà+Ó V zCìòÃ?&—…Gí¹—™ò$¿úÕøU
+¨ãµöße»%É~3E@‡Tð.(8«’|5©b0˜¥óã u‚¹lF¢&^™ µ]èÈ `Àx4-ÎuÀ‹ãÇKŸ‰Ï&úµ¶¡­…Âë&-®„׃Ƕv7#E>¡•ZÇæøÑ/-=st‹ý#ÙøSIyd<V€
+é&bÖ^{
+z÷×#Ȧûspv“’œ^l ƒ-o‹%ä#*·¤µ>v !¦¨”6ÿþ–_uƒÍ¶´Ç-ö2 “VÉËÒ¨ jKLÑ‹h:«ëÃÏï%Õ€TÊ
+§‚*Âj1ŠGø;WA¶mÇ”Á5|±ÜÑøs?8’,.N|«w ÿX5Žé¼ÙDÌ
+Ø> ¥º\Ñ{_$Ý-»h€9lÞÃèº5ãܸ´\…¢ž¸l_‘‚˜;7¹“ƒTXd©,A Þ’JÌ^íц[[Õ0Æø{C±Ïà)Bwê’ÜÀ©Ø9²:ºÛq•2‘V%VE
+éu¤Šñב¥¢À^ÜŠ)vðÓ
+Ç÷_ÇJal|”EãY<%#\.âUÂŒN}öäúäθЪ,oräØlÍsZá·/¼AuóìŠn¡Û]Üâ¿ärÜ+HãB‹:3pñ´éIùƒ²lÌš…-* ÜЛm5Aì*âò¾"¬rQŒ»­2ß³¿Œ¾'¬4Ýd~6ÇíL¯5F̘êCúd¦*²ïQ""Ǧ%“6LUèzP­º:#<¸èyQÖÌ#¬Bàõ÷ϪȢ_™óï¾ÄŒÑýÅCèö¼ Vy÷³´"r -½ÉŒ’ó¬Á/AÅõ _§[¯LH·4D-kÐ?’>.اiÞ:hßJ%áɃ¯>rAå©äãðñ†
+΃/]n%f¶hñw›j4ñîßL¿6°+d Û]Ò<Pr<©eP`~a¦S|ÞNöÒ^ù4Š  ¿†½¹¸zÛvC £×>˜èÁ””–X“q¢b•iÒÞIŽ·™;šøa¯‰B v,¨k·ƒÈ+–éXEy
+ÒTP‰Ë7Ïš0¾K;°ŸªýØ(ÉÇVþ~]`
+Œf„B(›Ö ‘X0¯jn`¯kjáébÇ_Ö–Pw†+=„ʃ‰”9pk@!1~rµ? ¡[ ‰¡m ®#g¿\Š×§f?„˜Ä8h`ÜkcôYŽuÝå†î˜ «×âŠrn¿Ô¿…¤ÐPÙ. %IJRëW¥Nte''Î> éñõ0 }iD\MI!/i¾xŸ)¤QöìreDgå¹Ïæ¯õ‚a Ö¸±A_9ì&ørÛ{“ÜéîÚ»ª·›c—"PZFâ¯Ãª‰í'Ð:sÿ†žOú,x3™ Wo¿õ±ôîøé¾RcYRßœ³¼Æv GŌ˞;?óù˜®œ®"ðÁEº~ì‹÷5DíàÐcù£¬„8"pÖÓÆòä_‡kò±K¼ë`Æ_ë0H»¯0¤^³+öýnó‡¾b^úRAB.[\ %ái˜=Ú9s¼Þ赚üÖ~Ê# …§f.•à)’ ƒ¢BbŸâA)ÑŒ“ð:ˆŽTb8Ÿù¶xø“%æ}waŽ@[û¶L:bšÕÉkŒ½e]ƒT*ø!ÎñBmS§ömÈYs•àï§[Mq)Ú€tã¯A¦žNtf‚ÊXòÁ0['¢.e­ß»´ôÇT>$î·é—c@nRÈÉ›èW·sT' ù‹
+DÐá"ò{ ʪ&gÉ(“Àü©¶D
+± ÷sx)v?Üw3y¯—ƒö¡;æɳÓ_EÕ÷ºYÌwtb±è  y¬‰W˜‡â™qÄ/JLs‰Ú§cG·?i«?=vEZ û0äj®8a&´Yßf‚õÄŠ0g»2IÏF2/¦ —R nOu}(yW²zw53hêÙ¬x”ñq.áÝ›UYCÖÏ$KËç•Eý¹y;¼Ûs¼ÀGA&åêØ(£¿¢bx  H Îû&¥_©€?S †{k0YÁ5'ï÷¯ˆ×ÆY2aÁ0p øn„u‰p£×Óµ¾0f‡žE€ÿ¬ôf2›†>93>OmÃg%)tw¡ÂØÍ;õºiaé GsCoþ…èƒyl‡ò‡s”q°Øu+ˆµ9Ä…è–·œmN%OÀz½y”0N¡!íÁO§D{^¶Lã›)ä†Mšµ\kÚV2¿fCÛêòë
+|RùñVC>Wë&
+î“‹ÅR¥ƒw›LȚ궬>ÀÂs$>ò&ÔF6FÁYm°(ØÍ;ÅãF;,E0¬ƒ}¡ |>ê|óqÎõäTôlwYit\JLê6@|ËYã¬Ô­Š”4›Î?ÔbÐpY„—HÏ´~
+®½(ˆŒG™eú ARi¶Ÿ;þ'RfqÉÇ«YY”¢RåŸ^\o~_ñß«+´køç1±{Ý•Pö›GˆPh|î™_
+[nl¨h]ÀÂ>L+ø¤öT+R©fUÚrJŠônœÍÎ ÷þ¥CÃ"F6áÑo·î·ý®Ö¿£jtZ¤ÚÔ‡L]±ÿêI<Pï„ ß_YÖ<÷%Ó¶xˆ}ß…rbpC¼Zt#7¤×ºÚDÖa % \îÏ~Ý÷bmG«¡sæˆí:ÙØﯻß3ÝÎè:Á¥ éƒ*úOGŸ!sØIOQôã•|4 ˈûèŸÏsŽWÜŠžÄÍ)ÀíåÎbŸM£šŽõÝ¥Hö`ñd°=á¨K˜uÎ59ÓÊv$ëÃË«ä²{á®7?GtoL )Ô.ÇÝø†ööP¥§ØÖJ¶ïYH~Uwöó¼7 pß#_R|¥• ®+ü¿x»´ðIE--€Â/ãdNÈò÷OñEŽ1"ëvöQÚÀ`þL–8¨Á,UbsºOS†ÁX/Ç_•HÆXÅP*ÎÏ;¿ëŸ”W\R
+e8 Ôô›§ðo0=ÂÎI0ª‘•Ã=¾z•¸ñü çò®
+°ßpY…Lž¦Ÿo$°|TkYyâ­Ú£ç¤L ®N¾Íå†Ù¦§‰~ïv«?dâq¾ƒà,æ¬êÇ[9=Ή+nÕj¦z¸_²¡j_NXǽÞF6ŸeµJ0Ø«¢t[Ë3wüŒJJ[zÊÎôÒ+OåR,[ ]3e5pâÈû×M†@¿oÞW¨´¤”Ÿ8Ç=H»-¸O¼¨Á±çßÞU®ZžÖóíAÍEÉ\ùÓ|°ªN×÷Åm#¥¶4º0ë~e®¤£ÌezyÅúß<ÿS(ßøï™EBëð»[.‡M2“›‰ÁprÜÔ$qwðça=NŸæıljç-}¥AlÚãì=]ú•¿-€^¾;nbøÝ"pÂ'B9„Zû ˆŠ×y‹òîÜXÚ³È>øÅ"KÉj}tµ `ŠêÄ­wC[MûgÔï¤#ƒæŸD¼ÈÜr*ó‚ÅýÖ!:“ˆôbùô„ 0‘qêÑ,W›©Q%¾µ8KÁ!;ܯ8„×­a»
+m@%di²¥¡‘P6ä¤äžvkÕõ2€œ« Ã(_§·åz×¾b\å¼
+9—zƒê(ϽS*WÈò;‘»2ÆĘ"ÔÝMʽ™v–‡
+ÐëÎбâ÷"+˜÷|ïÕÅa—SÉ©
+&J&Èñuµ]ÕnºË­¾L‚û ½]CöHÿ !ÿJÝx0eq%ÌÜêo¿Ô–·Ž"ñ±à›Ýkâî M;°®[¬a3VÚM-èœ%=…<`–µuÂîÏ r?w£çhTOy°¼IE<©#ÏójäÞ±«aØE%‰SüÕ9&ÇÇ@`èŸ(¸¡Ýí.ƒW±I—Æ õÊ#
+í¦æò(Ù¦íx¬6Öý+žáó=™%mnV¯:TÚ“ÉØПßñÊROˆp¯ÄUpÌØ7?,–(°1þ×Õiš,–å$××Çßç†rfWn-£8%IE‘Ó
+pÍ$ÅT¥©O?ë.ž5µá‘Ú=<δ ah¸ºûØA
+½œ¹«¸ÐÈ&³¬w­$ÛßÙä/˜#^qGdѯŠ˜#Æ÷ðí1HCî´íaÚ§ˆÏò‡.¾”ö¾ŽF™ÐÇ­Äa>VW”)¹–-àÈÌl‰ný á½Äz¤›¼D6ú k|
+¾Ž
+¿² ~b8Iý®óÛô$uL¾’é=M_4zxÂËeÃ]ÍÉ£’ól›á‘É'X¶¨ÅŒÛb¨NÞ(@n:A¦M‚fgíÕž<4¼*G ©Qتþ×לýÄ;±lCôh³ß‹ä\ZÙ
+¡Æ—m^5äzÞn7^±öžÝ㬠{‚v¬_ÒÙO Úyˆ½$éGgV*ƸÒÃÇã5û8Õ/q‹2wˆ­Ò~~x«µl¿”FfHG§ZDÿ¤híE=fm ­E?/æ
+wŠÍâžn8Ø#‰ˆ#
+rÑD´ácðщ­*^•mkµúq6Š“5*†ð®íñ´0^u*š]á[oPiI%?t›!tu‡™´Añ½'j¹Ä–³sˆ ;] {‚9½•F¾\‰ûúE~¢C¦:“!Ÿ4Ë3‰í’5ÄÛA‚¦¶‰+x£™™VJд<ˆ!<tõ—ŒÐž{0¶ ` gl*E=¥ÎoC(›js1®Ù3Of–5Ýè¼ö¬ó|¶`¡Pƒ‹¼%!S—zNä » Î:mÜq+¤¶ÚËesPPCÑИ°×2)8w²å¾”n:ýFìû³ƒþ:‚>ÌdzÆ>lÊ’Mô˜ØîÏ÷ÂiùŒ/;x¢µÔ²hWðçßí°k—­8†¬…ÌEX‡üºpU=™™îO…ÝVÌp£ìE~lÊ@åšÁ•êOß(QuYJý>[‘º´„xÛä½7[1\x½ž0jÄMF8¤+4˜.I6F½MJL%õ ^Fýš5æ*^ÿ•ùëG;£0-K¶µ!»õ§Ò½-Üuçq«“tn§7 QlG’àŸ:tFÍFíÇ%íiÙ¯<ò®3n;W¶!Ú ëÇ^½[G'MÜÿB
+Çu_
+œÞÍóÉa¿Xý8?Åôœ
+ÅDÈ
+ÐìI¾OñÙO œ•=Aõ{½b"l„ƸêDÉúIÐ)–Éš•5#?”uXÁ@¦œüçžæŸ¡.dÄ®Óv:Ô›WLÚ,wî†YèG$ò5èöPΠ@+1R"i†Ù]Œ½ÀC^A´|¸Ë¶î1öîÒ3D)«ôH@ '¨l,~à›mŠ‹nNûž&6ù|<FÕÒÒ€–Ï)ó¬Þ5 M«´¶ÿEÎm™ï§Ê&•NFª˜î AG
+VÆe˜È¥KóÂsgk^Êv ¦úŸÜƒþBQmo=¶ížuŽÐàKê‡:FŽ ·‚58ä{y/ƒw7ã{檅LÃZ»ƒsûe÷ÁSI£Å£´>B‡°­jHlW]í9;%¶‰¯Ð0wÝ× |iNFò-ÃrR¥­€Q!mн(¸ŠþçËMã¼”„k‰PÆ–ÔzÜJÇ ˆ›ÑG߈\um±Îx
+”Z§»ÿ96'’±_]ÇjG¿ÈzõùæRs€"ái¡©Ñô£±ö†Ë@XR¹.9ç£êÆõ¬Æ§ZAìÆ­³Ãè®ÎI¿3[`á^¹·º«Úåwd¤iÜÕLÆ&ÉQq˜2ßµƒCaØ›òaé)Ȭãv­Í¨­Á“nc&ï÷¼Ø <¹] ( ˆ§oØBÞ¼ý›5Ns¡ ›j—¤Š\ëŸ2
+¨·‘=„?'âµ
+ý¤ysEùþKòöÃk¡ÿ0¡CŸ~©fºä¾¬È¶öÛZ¼Å3q>;žýÊ\óyLÏ%$§’xËùFp‡Kâ…÷ ä´ÉÓ
+“»½ýb©î)Nï}F99nô™¦„\l\è°§Ž5ኤ•–÷fëW2×.úw
+¿aöÐ~BÔñ’B5‰_Ÿº/Â5 Ëì$Ü`!BÌÂD!«Ðw·%}½Õ0èZ\=í|2»ãq’±V9lÇ´”Rín¡É}„’™Óƒé7v'ÊÿöÇåk ”5mm?ÍD±fN“-ŠnÖëí=åe<†œ]QóÁVî’
+ÖÔGßüä.ÉÖ—*'¡f0·r°9&È‹™†m|´—ȸaÞ¼AÑwp;Mp6ìEÍ¡yÏÜoUmŠZ6%‹$ÉÄØ'Ÿj—¯n87Š®Ín$ó·ûå;6³œh'ƒcAËŠ]—fÎ 0#»*@ðùTËÆÞo™±}’ El®}>oñ0¹|ƒ5£Þ‰JÈ>Õ,s8eM©~­b>(¿ÌsÎJ}üù†Âù£’íäm«™Vh-‰:Õ´½
+…JCþ#réY6z'Fpm2ËolJ?(ÇÍÕ*ΙñoMŸÝÚc—Ÿ±¿&#«žñü㬚OºÀX$¿‚¦°³
+-‹(CQ$ï˜f³þU¤v¦¤ÃoÙÈÖ#ž)ñÅr2ÑÑ6÷;¡–}»š Aøª9–a·m}ÊdWRKÏ'¾(˜Æcˆ;doNñ¦Œ™üªvé¼:ŸÓùÒ†ÙV^·äy÷¤@CSú°ªîŒ+®ïR‰… Djë
+øQX´:-»VìŠ ÇÎѳ
+št`GÒ”â%äVzøvÖˆKTú,ŽšM Æšüò¿i'¶1S"“# zÙÌ@f×$FÎi ÜÇJù*r塬6õ»soûž<è©(#êò@Ÿ\茋β19‹CB®ºŒ*»ò¶Ÿœ:™Y
+Ä9{{2÷Á¨ˆ2T¤wsî·:4ß”}ÂH¸Mƒhn‘pR#,†C=5M7*ú–fD§ íódjE6p]nó
+ü¬xªký3!ªÂbJôj›žÏt ýÒ¨«àã|`wãˆ)´Ñ]Ý6R°eI+Œ«¤ur6´ìíÕÄ%zÀ‚ÃLÙËkFíÐAèHBoGc¤­Ç«Í@ìÍýuôШԿ ’n¯2Á»B­öð‡0¾>vrþ"Oz1Ω¶Ø;l}3¯h’1ŠDü‘ºÛ½:E¹’µ»\C4ÏAOøgÇ‘æ6}Žjq%ÓÂw{w}9‘½`Í(¸uö$¦[HY1±os=UC–?ÇÏòý>´ýi^mü¨PŒØÉÅ<”7êýeÖ)Äõtþ|Ïù’܃wÎd(£5`ŒÞ§Ñ82à‹Ùv½vüÈÐÔ‰ÁΉ3ºša‚‰²Oyuxp¿.ÃlC6(,óêÃcb…9NH¹3Bu “Ž-ŸèMÒìÊW»Là~Þ[àTÎ$ôøœná8¦¨+ÂZÃkõû_"ëf²·â
+‹]S¶©Œ˜±-³žçó$YºDŽßãžfö¿¿{€ùµ¥ËÏ/ó)œM+ɱBHšøO4k̵f‚ê´ÿeÅâ뼘š¨.¯g(Úý.Fµ,x
+Á /PAä ,ŸŠ{@ãÊFÒ¼
+ÇûG+=Aéd Ääš±Þfx ÎŒŠýûñêx\¿w£í‹îÐßìncðoþÒé߬ɜš½ö¦’RUc2Œ&·ö”z|Ńy_jiâ–¿b+èô¬ ±ær†ƒö)í[O?g¨ø&Xmš‹ço4ÒjM5oiÿ`×6D†óQ
+Gi•üüE®…Äù›i¬¿#ObP#X A^º”»òOQp‚VÉ®g¿£O´‡ÍÄ$±43·t‹¬ª¬Ê¥;±¤>gKvX
+73«ˆ„Pû”l­ ¾“:d¨QTéÿŸÒÝ¿cQÇÿˆO"£ØÀ›‚’5ã?p'ï<ëiŽH¤ñê}‘d¥}Ûi¯þ~"h&±ºí-dÂ’Z(}d'‚{Õ¬µ­­Þü>t³KZ¢7<’`,Ù•Ù-<ß¡c/ßéó/c)åß 'ùuWä=³?ÎÐQ7‘KQvµvÍ óf姄÷‹‰fÌ‚ë­h*³€®ç5‘Aõe°`BæÆP’áÆÝlVr¦P]nXr4£ÎRÂÀs†÷¡\ŒÍõÝÜ“ˆ#¬Ñ#ÚKôÛ\shXÆÛˆD‹ØÂùÂÔ–}+FȆB7Úlý’œÔÒ›E|5þn}´v­Í ÇHÂPù×ÉÛP¬¥ê¿`ÂS²éyàë<âgé¤6~D Î]ÕÒ,1í™2~Äð
+ò‹‚çy$)†Rú‘¯FOp†EË%8-tôû‰Ô_djì˜ÄëD=«eÚþf4‹zDÀѬ[:ÇŠp?SÉ“i’ö“\þà æž½»¿ë^˜YF€A"wµ‚HWÕ'Ê?‘dÞ!×L«ê, ¨ÀPô §AÅy"﫤Æ>ŒD—
+·£¡)½€v†–‰÷CVcàÕ‹è‹Ûè“x}XêÑ‹G¸<Ù‰ï_Xa AîD=—8Êfžº)7‰B‹Ô¢¦û$NHÊz>|4zôçÅL´ ÃS]8ã#†ï Ž³ë#½$ÀJ¶íÔk†—Pç\ìxõnÉwugZÒë‚«¦EA¼þFÃ
+™¥¶/t¥h0ûó³zñçBó Ô¨¿}T©š±ü™1µ+DvsMrHØ(ãÓ%¶Ýg8ZñMF¿iÎÆ÷>SÁ&ÊkKD=«î%J†Æ`äñ”>p
+
+lŸ
+±, 0¸=©Êh?¬z¸§Š:ëC˜ÇâC¶'V-¢Ôü|TNpÈ]iWºžâ?’µ#«_~ÕDÓº½Â`g¸H£cDðW»üfÛ;2ú%”cÌÛXr{ªš׊Ê]MU)LÿÛi3¬õo@)Cž{P6ˆº{V.¦ø!õC™¢‚Û%7Yô¿ì[ÿû°Fv5%¹YaÖyó—j§ýö¥ÿõÄ)2"?L+öê-r{qbš<ØŠ¯èžæ/«'}CFeDïÏ„yÙ9bV6$e … ΦGJ½…öÌeÖeªgð“ߦ¤ôï$A
+Åbͨ‹§Ú$[÷cÊÏʯR:AlGòšôÿ9Ê]Ôoê”z¸3¿8íÍ¡æQª.—`]±p¾ÂϘm–®ÇÒâþ§Ì—}¦¼[&‹Ê¸75¿Œu¯
+¯Á(¦p‚¿º+ê/´ åÁ¶m zû kRù>WLGS•
+b­4‰|ìØRö#[x&g¡&(M˜x¼êø%ÏéÞ¢Î5Z–¡oWØÑz¡U«Ÿsz:#«Q)åhÕE˜d•Îõ{ò‚jí'ÞªÙ5ƒ®•Ô
+´ ÿ;(M†tÚ+‰5|¶ŽÑgc"]Kph ÜÇtûýøE˜ŸFˆ„$¿Ö—Hd1+0ÍQ²çp T›YÞfëC>`´ÝOh•PÝrÕ·ÊtãÔõ81tïòAX ß^Áé2ç:…ZnË -B9¹ò¢‘y×EÚtÓÞ2„ÌBS}]‡Ø`?eܯ¦%PKrS ±žH„¬¸P¦*Žå)"ö”|¨û½B a*<±HëGl0 Ù¯q£ô±ÈûÕ„öÝsÂä¹Hƒ‹v ž»v1¢Å$R:‚“©0†)j5¥};»O»ÞÂiˆdBÔ|×C…ÈeÞèÅ”YË¢-Ò¾ª 8ÍOGþF…àN²/ìëôð՜ͩ‹/Ìn@çá}½ñXÌû|“õ2a¼ €À©waäbJ
+ç´ˆxŸ¦¶…÷ƒ»¤ÔýÁ´ñx±Mù2.i¤Þ$LhXþŒ{ÜãÞ?ŽÈõHÛ6|fë½+µÔ.M;ZÉêëí=Á“ãÐ/a_ÐâÜ„Õ·†©E¥‡ÂI¾öŽ5™%
+[={µO' ý°ä‹)<öÃM€@d…"3™/÷juïij}.†1Tè²ûSðD¼ü’ìðM:ÉÞZÚ¿tÑ+²÷(ËâµSJˆ»{Ú¼÷Ÿ±;çÛ "å ±|¦½®!Eysó;õ–Ƈ¬åNþñ)
+å:©½áú¹¨qÒH3aÚÓ,ði²â¨EʘÀy4ÿ1§Èð…H`…HB×/Ï€À-{üèYãöbªJŸldŽ›Òì˜9™3á¡oä¢Lu:}KÙ_°±|ƒ0Kֳα*ðV¼Qá#Mçq¤¿—A»!` s„yÌìŽR£"KÄã«ýóÆ$W>±òPÄÖÕz\]€£´p—ÕŠ„PÑ?0o8m¶—¶xæHs†š•Pº&hT_öŒO
+6>ÞÏ–Ãö‚ þBKaÈ›?åJœûËoA±ÖæQA\äVÑ4¨cÃÔð >Ëvs/-£&™Bàrª­d^Ë¥âaÇ|QõoÉ2Â>‹uYäevÇï<Rä2ö}/¶æÌížÌW0ÚhXOì&Ï Ù’ŠòQ³ÈÍÌàÅJüþLè–äÀ™;.L.Ã[Š{dõtYV:ß7?3âm)Óø¸­kÖž"±Ì–pFxºÏÏ<ËZáæ-“ÅÙFAêLDLªÑ%²õ oWw‡…SLï?ÌË|ܪ‰k&Éßò´´tó¶l“ œˆlå7%ɉ0Xþñˆ”v l€£Î†mU¦S¶G­éÛuÂ0_æÒY£i¹µ:ÓÊ&é ÏÝ!@ê®[QÉ3L£_$Ø_,VP:—7Š-= „ÅTºQ¦‘¨n™`8Ü3(îÃxmÙº e¤=Á¹èrgö°h·¥ÏEõ’h!À„ßÀ½´æbûë“ßJñv. ¿MSSeeK6. 6ù †e~¹™çÝÚrUœµLÝç–*K§Q1g´µg[LK†Kg€ú—7ÿ«c“¦ã6U_è9 K„`“\¬8Ù´,7WFáZQF`ì'‘þŒ*¡Ï;D‚Ÿ0Rw™E±Ÿk‚%•iQAí²ª+D,ˆË!1zDštRÜÆôzB*fÌßG·4B¾~Úý³ë}ã±f¢<hÕej¶¦¢™R^rõX…grBÓ ¼;DGœ@=†p}*Æ|B
+Ô ÕãeÆ6¨‚äa¯Ÿ…ñ81»‘x l¤öu·7ñÕñ t%ý9è{ñ;ýŠ${m_òf@@z£ëõO¤Ñ ÍAˆC3Šfv¶,%Ä\‚¬%}°–ÍkÁk^vÅ z‘o9ìâk§K…”ÌgûÁhHÛ*
+\]|ÌÍŽ)ê·W(Ët
+m<%EY}£Æ½6C›>ÝÌh¹©ÚÂÀ´Žuiåä‘›Û\£ÂV¢ 1±
+ ïl˜I-žëœÜá4=‚bnÏ-ü–/~Ñ4‚O•ç3¼MáÈÍßäÝÓ¤b ‘á /ò‹sÛ˜Dá$¯
+ìÇ@àØŽ¹^ƒ#Ïx6qÛïiˆ%•§¤â‰ËÌpô4t*-&OŸ¸l/ Že-
+”d7»WÅ:tˆ‹Ýc¤µŠ6kö^ÈP+dó-àiÂ6"fG/õg/Öj±«@P‚3ò_¸=W< ¤A¾ÖMÆq­p€ÉÒPs87ܲÔÜóÅ€]oÉæ¤QÀÚY¡*d§l[ ðòœñF}Ã+?ùeÅ&5Ú!È95å)ñŸ¯ýÝ”1k˜¡C…¯rF6†/½6&|êµAœ ! ð²¾D§÷]êþX¡j{Oé#ôHÞ
+mB®/Ê9E\¹)ˆNÿ/?øXõgQs·cJ͘
+È›Õêš”ðÔ[Ÿ©û>;ÎÔGQB+ÿa?<` ù6eÓèˆ|€É¦ÝSø݈d<¼˶Aï§0¤xõIµ`³-@;EöH#Ù˜LÉÈá
+…’ÝTaEZ§Â—jsb§«“¤£³Upã
+D»BÏm#Ñ•†•ÊA_áŸÕí6.•Võ±¶Gl2ϱsjCmø:ª^Y81’zî´ÙmЌ΄ÄÚ{„ñö‘Ü¿ò9E®UM^I£ößü qè” âæv‚tû:»+'ƒ"dPóǯ¯;
+—ÜÞp¹/çtPÿ›T†uØå¤6FPš»fýôš*ôØGHr˜µÓèɧìR­æ÷Ö9›Aë 'Õƒ£u±`©\ƒäVfL†5©aå#TaI…ÏKEîúN¬cDôÓ¾k–‚Ú¹W'º=ôê_ ‚õ†Ń‚æçuHZ\09³¬·7 €nÚ3(“pj÷mj®àφyö˸çjˆ$IS1¯v"ž¾OtNퟮP‚;’Âê´ÁŠÄÙ‘
+
+¨'’ežÃïÙ—É°Qe¹ÅiæÒ†Væ)-¦bųê8ávÌ(WÉtúg¿“ßJ—ôôÇ\n]&ùð¼Ç ­TÖ×5Ý玧»ì•ÿ?î¹ÚòÑùxͯép•)ìÊÜ|Í—ñÛ?ÒÝíÇhîNð6)x§o2ɆäPó‰8-”H´ÞWµW_¶è¥ŸÍ[F<,&‚}&P£œ$±#º©€<‰dˆ®#c6߯RÜ«^=)˜k¸aHÝ’d¦(÷k(2Û‚Ä|?JAáU¤rÉÿÊÛ‡B¤i!V 3 5|‹Vºá´ÏCÁ¹`^'lhs@ÿør"giôÚ}Îüëb‘¥ …„BßhaHz8`Â$ ±«‰)Q¨ZÏSªÂ Ÿt~4Kyó¡ßM2n—Ȫ©r b`U×]•AÔÂõ~HÕ¹›œæpXyÑYèÜn“^Z侂%Íåw*ô#„ä˜À¯wkÌKÃ4²ž¯cZuQ;ÜüyFEßÕms³ž¯O”NøEoôîø
+‹x8~AËDY…ί–+¾@r;Z¬‡0pÈ› „¬Ò¢hüXqã2HJèl.YK;r»P&Í!m­[Èxœ^ÚV-î½²G|ÃPç­ólHÝrÅ÷cÈnR†VÏë÷d»á« °ttFNæzK{:—\$‰”ÁÚ%5œȬOXkµE$P§=‰³ÿè7£—ÇÔ2ð›½)¿­*&>}çþàt®
+jâUù—TLµü£¦¡hdéj•u^v¤Bfg&„ªÿgÁ•jXÜÖ8œ6cH’¨oVZ¥”ºMA¹uFàPʼn¶¨e­ÂÛ­\=`Šù'ñ2zZç7{µÈ®»T]í]ê ‚Ù,êtî30©"XÂ7ÁÔ%¾7#+¾†8û
+jPZÔ|Äú4G¹Nñ±TG^V°?€lAëÔ N‰èaÛƒÚFKuóùYQ„C‰ë‘÷ðÙÁ!D&­ž
+endstream
+endobj
+75 0 obj
+<<
+/Length1 903
+/Length2 60234
+/Length3 0
+/Length 60313
+/Filter /FlateDecode
+>>
+stream
+xÚ|xs¦Ï²fÛ6¦{¾¶mÛִͯm{Ú¶m[Ó¶ÝÓ¶5m{çüν»{ÏFl¼‰'Ÿ¬Ìªú£^2"E:!;#Sq;[g:&zFn€Ðhg«èhG'å `¦gdd„ã˜
+Ùš[›蘘ÿíT³51u´Úš*Ú9ÿUŽ‰‘ñ?bª@c+[S''
+ Û¹¼è˜ÿ&ѱ°3˜Ø9YûaöùŸùÆ.ŽŽÒ?áo/ÿm›ÿŽÆÔÔÝÔnuÉΘ'È2-3ݹ;wxRT£½ rÙ{µ_á‚Èê
+K¤ºòÌØëkÂåË´ÍCJ¤íí×hx'›= M«l9Ÿ°b‘­6ì1ÚJ ‹aÚXÊpÔv÷Ç2^á®ÄïdÐ>î…™:Ä|{¤j“\˜›È\v‘³S%A¢f†÷˜3ð¹dP]Æý´~ÇÕdý°¢Y1Úu [JûÃn÷+]FßÂÄÀ¹p H\Ò´&^QiËÅãR:Wª:}­×Ï%1^òÁÃÐ_Bê­±G :FÄŸš]†×¼PE„œ2æ,Xoý_^ {ïA÷íµSØ‘ÙìïÎð­¾®ÃX)+XÅБ0‘%Ìc˜Ç¥øò#1Ö~ZÜ íJóÕä¼£ŽNPƳ{3ÅP‡CÅϤM‘4ôÝš•Rà+àæMýĈýDOÀKÛÕý!!?gª@!Ún©;ãè„H€œ’,kuv…Ê5à =ÙTÝ«[{jÑö™ZŒäKZ’26Ñ•˜<`ûÖºEþ€ˆVDÇŸgx„|éûn.—è—À¨þZªˆk@ÅÇg.<Ø&ô)J;€šˆ²Jšb{šga¢=çÊðÈôNì0²«‘pϱ†›mL{¸¶™YwL,6ZØ,lÌÍl,¿ÊákVvüFcnþÃMüqø¯ÁK˜t®Þ…FŠ&.ö4Mé^öhÍ Wå/¿œlAîea³‹ CŒçñmy¦Q†,¤» ÞT”Dº{óðáËL¤Kù¬áLrkšÅ ÛùL¬^¼;,eñT‹Æxéü$úlâ "_¨~­çHÝ]]¬ÉÀ?p;Ëÿö4ˆ0¯Ô´âY.<{XkŒ Óñå+íöÝv÷[úoaÇ­
+T
+°g€“©a}P¹D2Ñ<jˆšl_J#í"¨R« “ÔÕ ¤íŽ“WVt’y^ÌI‹”O®ˆCƒ¥ Ôfån<­CVvÄiš¡{—F*ñdnË7‡4 ¤òY^›Hc!Ù&îôÅå/Ú¨Šû}v¯ß–§/‰5¬¦ŽÌÙeÊ<> Ÿ¯­ŠÆL×JUÓF9Ä[%eœaÞ©Øq§³¯–A"¾ûá¨Öz hÚTy†àÌÄŸP¸
+¡éSiÐnùŽ˜‚¥Ç› Š·1Uίì¨h4VΑuQA›iå0.-Y7½úÜ¢ÕBÒÈ vQBÐ?
+ôx~ehFÂX1z#ãàU5<:{ö~b‰m?t¸!JùTFÕ ^‡±ì@ùêÈúôû"M˜@‹½ãjË­¤v»l¶»ò†F¾<Á%¹±aâÁsÝÐu*wªÒ9|)»4â–Àüí­ÓxJ¶óÃP-;¹9Ç&0Œ ;ÃŽ@üW´cЀ-(CU
+?ü8³ü
+¸£>O»ˆg”íD&îz%ûWÏ[ûIÉHëÓñæ:~HÔù²yd
+Œ6£Ôˆ®>:ÄÚÑ’O:±ŸëÁfNŠÂuk
+’27¶„89"M}d0œŒ:sâEÿ=ðcZeîOÏh@ÑêhNùÃ/‰µå™÷aCc3L0Â(öÚ«¡f)üedô¤¿²V!Vœ¬kœæ‹+&<‡RûÓŒô\ëûËÂ"¿®ÖG¢·À‚çþÁØýÆjÕÜb¯ùÉÈSzy djùaíwÞþšwSþüá™í¶àMŸáÊøRü<ÜzuÝ°ã:Ê–”*Â|¶v‰‰
+©W7Æ®÷¬pAYã»ÖmÃBÜ8ÈÝÉ‹`½Åf’x±w… ŠwFÏñ"¯#›œI a4ãÔŸWž¿C¥iô_øIì;ý¸A°Š8·äÖ i…oØݽu}êPcÈA Â)]‡vP¡ÛXPݱ¯äðEÊ@Ÿ¢{`î ¡W®m‘Å…Ï…Ã’Fƒx÷ƒûÒ'=y_7Óà}µƒha(#ù”¡q5kÕø—TØAÜCéë!vÍ,ƒø-úO£Éa@
+vÌž£‘lgìa%+#Ò®ŽÁäš±Œ©nÕmÇ%¹mxwöGSMÛ¥5×n‘d¥yö²<UM;­2HúyÅgeS`eÞ‚åö¶(áYOC1ÔmÇ´}IUãvÇŒnÊQúQw¢“êýk+Ü&nßçÒßð680°Gç@¡
+Ï>‰.%ßùH‚ü!{{$;$¡Žì‡ÞÊ@­I`)»ª&¸È€§…s6YúÚKT/ÔÇÄq÷Qž f<Rõµ?%øù¡ßõ§é ä±f:CeZúRkqSÄ ¹íWIŠì´ýˆ»ž#L²­U“wþà«Ís¸¶íN|80[@v
+G‘ó>SwÒÉpltîŽÝØî²E
+dîúÃ
+Ô#†°*»‡déQ[àn,ãkw9‹Siž-t¹õ:{ ?ð””]bß“W®—ŠGT§Å©"Crd+å×=óä—Bõµ6!²(*ÉÔ|áÈý½Ý.¥â‘q‡9•¿m•.ç Î9qè%ëîx›lÖlöf›¼aô÷ꔫùv¨sM!pÒª½??L‚<R½¢™´DnÎgëÑóŸyØ ?ÔùžäHfvžq'®ëˆ’9­JQÔ¼¸ì y¤½e"/×07Ým)G»ê~Sf<Iø'¯™@œ‡éD™,ãHÓ%ʼnŒÆ_ŽûCá^3ÑêЭ9ÆN.
+ÑàŸ;”…ãôîÒ'{=ø”Èw ˆ~ÖžuèoÛW+d=ÐJZž`± ²Ä8†è‡UáLÉ*ÆÉ@â~‹ÎÐAãj<±2$%â~_Ò™I@ÒÄ ÜòÒáî\ÎbT+åÈz´h ÿ¾Í~™¯Ò(|`q•Y¿â/'tûÍ~>¶À%
+ø>(0øˆk®b?rä6ÅFP7FÞp®4s´ÅàEnàŽÉZ¡)cEº³ÉÖs™Û s¸±7`ïk' ‡¼¿'e{|F ]2ßÅÕE¬\ÕAª¸9]´­cÐÛRyªFÉ¥Tñ}b¼¬p#çû)²“Ì)Ô¢uEt’Žþp DDŠÍ=ákóô#ÜáТøòÒá6ßdAÏdi¢?Ïrs¡9ø™«`Á™6)­Ù2ˆÏ·²ÌÅÄÙ®àµdÈô” ‡»z[ÍPï´Xr:LŒ¹åÅ' e#õxs´ù™Q^Re z`A á+-Ç`×Í„÷ ºK×+3ó¨ÚDS¼Â"Ä—èwÐ-žW!îéìh§™/F­ý³K9ÑÙp y8Ü1¶þ=µ¾‹›|š&îü6¼Rú=Ž†Þ‚¨ø'Íié*ßÚñ`§ø¤}éo:ퟋ¶QzñBW0:4UmÝÌjxÔX™í—†øH“ïÈz!×ÚŒzèØ“’3í™ã2˜W{»Fh]skÏH~ÚÙÙ€«×i±Ôå `‹}ˆäÆš²2>,èÕæÜÙRäT²5?}ØŠåþƒÇþ‡Ù`R é÷‰ä!1+>ÌB;6Ú¦‚ÏŠx§½Z*þø±´{÷sºÓ¯!î?÷Tßè¼Àb<âœu ªCc£ý€{uƒrNA+
+µg€Ð¡GetóXp;ÄIÌkv
+ RWz1BN@"°Í îJVé‘Q
+.ÐŒNùÒósëŠaM[Àù6:S €œ£BU-¸'^ÖìäüšhMzP¡Â³ãA§Z] =zj¾àK {%*?´
+ϱ„I'è,"ÿ|0Å•¸#Pßõ´ë=€‰¿¬} Õ²_é—Ã^Á½“ð1 ß½ƒYFߊ9‘”ÑGú‹ÉS¹'Ù¶¬©Ö~ q¼sÓúêÍ.¿ÖÉØÍãçj³¢Z>1±Rñy¹
+üÕCÙÒô;ÕnpX9\Mtë›9­:ÔAODÆðâ Ù·Tê&àcògé}6ÏY cßÏ'v…4Ó
+aú?Øð³¼+bF‚wÄ@uggªåÖÓλ­8ÍÞï~×TYJéau¥ßŠî¯•Š%,]87ÁÒþ¬]#Ç€~ ô*Îu¦ö½VÁµ”ô —»Ék;<*¡^›/L®ØP_º‰ëÀF'¼ñ¥VHöÀ/žÏ¢B$'Ó‚ñ]ð˜u¬Òéý¡—ºRÕ»‚™`¦ÎŒ —q8-û#Œ
+¼ƒ³/§RDÀb]†Ìé]²ƒgדs´Á¾þ°ê¯1Ö5 e ¶©$GV€K®»»D¢l1Š†èR³˜+îq¡DZ êoDÛ_Y{Ž¸Ó>/iš©ô1‘««äx­mI¸é$Ü#‡/#ŠA ºë™¥:®éïé¼ÚœV–„Íhiõl÷ÜÍd:êÑw½w~Å+ V'½¢ü"÷¢+ã0(w9p¸K2꿇i#^Bü©M„Ö “µK|Êd„zÝÈ÷ ;Ayg
+‘·Ö± d¢bzæ)¥¾äªÂ+o
+ÄM¦3ÓúM+DÔ/Wj¨¹¡É TeN3˜ï–
+SGÀ™ætگĕ²4Dз%>ÆÛvÖ^Õ[ßgIº_®GàFêˆú¯ÐD?䯜Žv^´4Cs—Ó¼Vˆ v§““²~ÏŸHh#¾c²äQŸº¼£ziò¥€¨Ã7`:÷‡ŸþÈÙ¬¢‡¦m+\¯öŽ°,‘
+áK-:›„IØìÉ/©`³]'m
+[r´Í‚jÑ›°ŒÕ`«“¼(ÞSè'Ø^à‚sŬÁûŠè•P 7ðyoqÐypªþ‹â¹ÐÊxÆç.¨uˆ+EŠx’ìca{&
+Q Ø½áŸóÜKøtÖ-ÖK=²Òˆu³ÁgXû®"µ¯Õ›r£öH;ü¢' .œÖ±8–E§åTEš³S<&´pßÎPÔa:e&B üìùHÜú˜sé%m¥`õg)9_ÇŒÂþ<,׶.ú]~úix‡îY³YÞ`çRUó½Ú-!ð<èÌr^Áx£€T/{†¨—î&·5û×ûó,±õêцw<û*¯¥(~¯ó'Yy
+‹ÊEøÑ¥ÜGT…_†…ý'Ž=YbW+£ÌG—² 4V±‘ÖÕèåø¾òUŸàHvÞ¸4aw„Ž"vÍá³¾ûýÍõƒY‰q.XžÊ€Xºkj˜¶§’èYhB?ñ¾×sÆ²Þ SdüxŽÏ{rïïÍ Ê4ÒH`Wo´êû4ÔûÎ1^ŸÌÁP#ùXú%’”Ô)dšá÷vÉ•U±uàf‹”¬jJéV|{g,Û(ÅE±
+ÉŒòØx¾»X mCüñ˜çë‚=_ÿŠ'oâÜNÁ×4ݧVô¼Ú-ØÎ6O‘v=9ój^_©#ßC«‘šýº"—©;F2ŸtRå%DËŠ™ç¥<Þ26©dRÊ– D+ëa¸
+9?SQ{Ž³ð®Í­•¥3ùŸC¬Mj4ùØø&Ö÷¤ôÓîÚ×”®xÚ
+Å~àζH‡²¶W³ŒIöÉa)B>¨}û…{`hÊ^õàÝðMG™Ùìø,¸°‰›2’ܵŸ
+D»ŠJ­JÏ*êä]Üâu„NJf&¤QzË@\®®ô}¼ŸÃ§ü”±Jqd½œYç ³S.hüâ“—ÜVòMeßüw«Sˆ? ˜2M˜¡^«€/ósòjÃyÖU¼¦¯Rʆé±<1¾ÇŽO„©IãÏîgnSu™Y
+ÂY¸’–ãKo¼™)Æ\7=ʲ‰ 3íÐüqlLû—<™*5:x3fv÷UºV6ˇ<Z µ<.Ïâ¤c.ªŠÙ–)··«PzâBl·3+óJ^+ò’—³,å×ü¢Ë+ŽÑ…‡¬2Ù55\F+uÔñ囹_úí°=7ý%˜½`FU2jj"Eé„Ö‡µ¡ ¹"Û¨7äø',tÖO,î×)ßœQµ m¯q«’TÓåöRD€0™6'¼àœÿÞ__£…ÊOÏì€:;·öØCpƒÐ³­þÓHB¹3¥ºŒâb>© TíE(îß‚»&š!±5S.íéZ&ã;×h 7ÌÈíÉ0úÔðñFÏøþ06§ç4·R²-=e;Ùõw¯ÿšu»Y~œ1…+'†ìÐ*$úæ™/J, _[ýà¥j» £B¸¤…”© -å‚´Ç¡Ì9’ìÆ1Tî)‡ƒÙ_Nû>DN%«iÈ€HÁ¸èŽ2uªxM¡3æE^<KjÜŸB3;çÕ×U[+³9Æõ+, 6žXª×U¿¡®¶hÒ:;˜æ“<žàXi)éf=Zµ]˲×¹v¾!ÜcQ–÷Ã% kƒÖ‹©!þšö~Òo½fGÖiøÛiÏ…%´«±RùP¡]0†À¢9¨¯ù Slî#ôÊuj8fÛå$5¿ÝfZGÙÒ)ö°ô² Ëúà|c{±ûK5i¶è%óì|.½c[Ú5R`Á>ÇEĦb*:¦b ;_µ,²õ€„ jŠ©(LQèÏPgz°]#Ü#<Õ¸z*$‚Ì
+lr!¬ôDšºÕ‘©Þ…µ˜œ¹,¿´É¬ûªš<N`ôP»Ì
+ö_¤1Á€qT4•V2ÑcÝ3móZúéͽ| Çúý*äÉ.T…Ã66æ%‹öh™pü©¶‚;»3©‘õ?4ð¾ê{)óô5Rd8¬7¸’Pzë–ˆ¶@„‰Œ¦G´0éïÝLN#ÏÞk—g¨Cˆ÷3E·Vß®x–6Ð
+´‡=Åö~i:*CÑÉÇ8壳»H!±î¯Å'A]& Ež¨ãe”ž–¿±÷âìÂ3¦®>˜Ü FA¤¦•Š‚AÿÉÈOþxð¤mëôÆ懨AyŒòÞô%¸r:['™”¬i4-ç‰Xa:)ßâoÌv<q­ò=pÐ6ÔÌIÜ^î£À:{Q6dÇ¡¿€²µ8¼Ÿ¶=ô²kbÊ´aBvPýáýê7&‘°©\+ši3#šRf6;žöýCIå5fVÇ‘’‹'[œï5øœWâŽÌp]©gC£@Îôv^ŨEÏ¢¥5è‘r‰iH³2Rq’*f`Â+šac-“€ŒÄ#)#ŠÁ?ôô»òÌOa4øjP*U†ô-d_G¸Xõà§;4»>kvMƒbëÈ!ëðdh 5TF5BÅ-Å_³àê#Hóf±Šs2•EŒÚ|&Æ‘6É$Œu©A•>ÆŽB]´Äzµ9NäT› 5ü¸o£HæÊ D™Û¿JŸ;Øv%z¿¬vÙ"/îV¬»Z¶©s=WPY„ä¿÷%0 ÄNéè¥b¢÷ŽˆhpÅ™²à,,¨÷›Ï±{âÛqp 5umsýÀìB ¢‰Ò÷ÒúŠ‡k/ÿ?åÅ…Š/RÏX¥.×Åp uԎ؈a{7¬dø)pUý „At6¢p
+ÕÃ%4*%·»-Òà}àEg²;_¿^9N £Z㟊¬ÔD™â¶²ÑðnîÎyÅZŽ,"n‚h»ŸîW}ùÉ'sÎͥ*ò‘1IÖîû¼±áj˜?[ò7¸‘|ÛkJ.Êj™VD}M Þ/t¾‚)ì‹„ý;|›¹@¨íP zwO:m¸2_1èò¡(P¨ö)µØBUÃ}|»Iº¾:µ¬svƒmˆb"DôÁPéÔrÜÔoj¤p;ˆ‹µƒºa2á!¶ŠGwÃSa—:Çãk–V¾³´¡#nUNFðf` >aÓ?_nTé®"׵Ć¾O2Pôh}Ãí,ë|Î
+„{ŧ«ÿDc…U?±MJúbi¡ ã.G³RŒsÂæs[9ö
+1XΕá¦;X¥×°-ñ…†¤VU1š.tÑX7YzLJ—;»Ï|u—WÖ…¡îÀX²TN7£œ).ºÛ£2à͵l•¼¢À0 ;óý#ã|ù+y¾?ïÎð*CÉ›[”k”Å
+µÍȱþ!avÌÎ
+nóÌé<ów@÷\óOÚB‚Vö¨¼Ÿ‚/¦ŒEœÆŠôhŽ~ºŠw#<Š+xn‰.¨y‰CNÇ2ˆÕ`ßáÁ<D}ØK·±ò`÷ON.¥»$NÈ)¦¢Aß¾¡îh½Þж¨Œ-pAñÂ/³f…ÜØ‚l@¨áþ8HŒ²ùòôˆ·¢Àú’fÊÒ?Â3éÑw‚£G=ù-¹-$Ò}R³¦´ÃíÉ­•{ì¾ÿA!Ñm'·9Ô}›Výî ¯yå
+B_(`sQ x©.‡£àsÔ†6±¬­Ï=¯jŠáó¹!L<ŽZE[uÏ^%®óú]]¶Þ¸W=GN­ÒŽ¿g†{ 6¬_É2Àˆ«ëí-ty¼6;qyùú§†CŒ¯IG.0ú±#VÀÞÛÀµ#ÄСð |‚_ˆkuWpÒ¥Â:ñà˜¡ãvj†Í@ã_ èw¨ø³ Ý%v?ípïR³pÎ.S ý<æèm^┋X­ª Qó£íBÕƒëxx.Åœ2X¿
+*ð»thO„QR xW†î7ÂïFË.é %v¹ˆD_×u÷Iý—X@CŸ0 T ¸´}®D…>ÆEY¸+QPEP†né$1­ýIË»»6“”÷äˆð/ˆ­³SyÖ’ïA×|­ÌFÓ‚ýº¾<†‰%|“¾Ùò`Xà#‡Äb|E<@á3¼qáóüwÃ$¶ÆBv®Σ"ïv®›ü$‹g1·ÙBlÇœ¨"¡Õ£h¥ûrqçïmÂî'Ùùáäé>Sš+ØKíf?m‹à>ÎÐ~mS *¯•±õ?TK[X.ÞKl5'‰pƬÇ?göûLÔ™ÍnƒìÉEéwèqT$xÚÍ>îmž›ðG5 ;Üjw H‚ 8BˆK‹çÒ=H&Í¡ ÉÐWå—3ÒKÚ±ä2êÇB>>¥`–G@9¨DñèÊGL«$WÁùóLG¶~…Ò@ÇÞ&˜–Ò*¼’,ÚU躜=„äý²ªðʺiÌ÷п[B^˜Ó#7ZwÝþAœtñÑ¶Þ u¹ ’‡6j€ ÈÇzY›jð‹mm¸emE!i97¥ø±7Tu”ñ÷欬ëÆNÒ)û±ðDÌj2IAÀÎÒÃ,ßYG ó™þ9‚ÌŸM¢ÂçêBìùð:žw‘’_¼Þ¤™ÌÖGçøcT_;Dz0ø›jÁÝñ”oÌf³-L$(’ÆE yXß®ùyÖ.IiBA,*©³tuCdYfS\úçà{SÙÈÐ
+ÓÍ™XDâÁk€Óí
+°¡åÉöþ4J¾Àýµj6±îÊè^ò¶’6¢ ÔŽµL&»‹5_Ý`
+ò©{AæÎMUV0ÄS‘{#!ê ¿K^›¾3Õ&W:{î¶7‡[ÊÃwˆcÏ&r¯àîÆÁò=ŠvWÚ§ e„¸Ý.=œ‘5 ™jÿ(bI3~ïs`Þš¦6+2°PÐD4ráÄ™Áb`}Ö.Ïn%D:¹œý˜~Ä8,$¬ÏeÞ)à?&©ÐSñ±
+›“œ~ÄÉÅ@ o­#f‘˜õ„úÑ.å­¬èŠMÌWÿ=çd?_ê m€"oî`ÑKÏÐÒµ ì(–ŽwÇl}×(Ëœc•eó3{ȲŒ‡¿úš! “Pžmà7ck xÛà…°¥ÿ¹ !±\ ã/9.a’lG!ÇrðiPD€úqK®Š5¨ÐãÈj/bߊͣV}ê"&
+rbí=¬Þ¥ÇR^A*¿Ù"wdœÝ$2‘‹e˜PYŽ»1Ü¿Þ0•¸³ƒqßÿlï›çóÖ“²£Â»Iõ®ò·@NÑQæÁŒëã£H×ýPÍĉ‚6»¿™®s§7‰ ÌÈDT¤Nhu·*2þy†áŠŒÝ(ÛàAlÓ&Äuv¬¸AØ)ÚGȱnTÐWe<j
+GþaOZêáñ@ÜÉá÷¤N•¯"]eÐ#¬ñò1ØqŽªŒ©^ËõkÂÀQµj’ª¢
+ˆ¶6( h»'½?9‡ƒ¨¤»T¤2¸Cë°ˆwžŽ»Ç¢rR13Iþ'ì^GäVÞrØ°C’®J‰.ýš
+œF,+V3ÑT¢Ï6Øá°*rŽRH ø€™Oòg_ÞV\2ßóÞ󥉾ÈGhb渶:øHáYÑ”L7v °+̆œf-©ÁeKXŒAÙCƒtä€ïX
+µï$•^ÈÉ]Ïj|æ(¬%¹-Ï=ší¥
+¹ö¦Z&åjz G˜ñ‹™¼‹eö4_%WPÏ¥·É…êºV‹_ž´]¡ÒkÏ3·ß7û­gÜo0¬~E˜‡ÐÞè9|(Ú·¦B¾z°
+vP–æŠò4K˜kÛ¼KôœÖ'xÏ+§A ÊC_°8)<Õëgže¥xùœÉâd­Ì6¬Â‰ÕÃ,#ٗƦ*øì¯3©.¬‰4_†[‰ÁemA5º1À( ô'U«¢‡]«Z€ ©H prê8¡àÂý…òqæó43øPä9öÓòüÕiؽÎ|Ç–¦¥œ=Ó„N¿‰#""
+÷e¿ê?_û» §ê³A©Ð
+·þGhç&ƒXÚKò¢÷r‹ð#´†Þ/«XŒIjMþIË™=~8w¹zΚ8÷Ø2s° Рχ,™åÌGh dúVYO™}Ô.®°­€-'~:ß2Ýìè•Q‚$u’rƒøé }Õ8“|òʤgføɈpW²Éú(~nµÓØQš+ÃÏÁg¤Cr ^KÚüËT\Œß?Úkf
+só°°zØÀ~7tnã(yÞ?­XÓ,ä%ÅUJ´ d°RI•‰¼[Úe4ÂàD><suyáÏï“ó*ri² ³y´ò$ðáWmgñXhuB§úp $yÛbýióˆ#ØmQM’_9¦Ø^ߥwYû.ÕÊîa/ä…fH”6¬r{ŒÞ0a¹LϪ3!JÎÞ7eäó8_jÚu§±(&´ù°õªç.¶¯Ò=¶åS·]‹J&™áŠ=û…ümÿH•ì ¢ÿéÈ€°ü‚aô굿ô$êm’^F íö‡ Z'A 0ËÏQ%㬜ÖJ3ÒÙH(jËÑõ(ªæÏkAW¿nÎ|ñ4oJ5rt^„cÒ-g*|kû¥/Ûç:%¤CôÖü-E{†Æ*6ÂOoÉá;*¸
+gf –Éã+÷š:ùŸÔ=›W«•‚ÑÔ°ÒxÞ˜þð•àÀÇ=K8à8CÊB
+ ®½bõGØ’%ggÞ ueUE]âMHi\¸k¼‡¢M%Ä‹¶,ª0õ.õŒó€Ù
+D‚Q‚Të-Ð3x JÕ1g–jb—Ž‘ÎçëÇåj`¾Æeµ>¿Á¡Ÿ0ׄNá[\ëHóŦBA³@vœñztQ??F\r‡²ï-™L2ÉÆ)Bê[g2[ÔR³:nÚà
+j™îBéa×zehǃ›¯r::¢l±z“PøzVÑfRì¯æS¿˜(î"íG}µïhX<²¢B «îá¼
+š#‘Wä@hÌ>R+Bj*ñï¨ó‚‹sËÅGZ©†=​ð¸AÕ¿ÄW‰^„yçPÒ6i(xd¯ñµD™Xýç6çœZà&ð½Ó‡4¬u¿À–“Hz3Ò~özßY »UEno\ð‘àÍ'¢m¹¤¤óttì÷09%0 f!–Àn<øÞß–k÷Ýè-br
+Ò7ÚhÄä YÑåé ÂÕÿ&ä’H¡§ª€ÝíIÆO7¯„ÐJÂE/àV $j8—¨hKÔ)R§<œäkõ§'­Òf¨Ü°¾6Èk¸[ãäcL ìϺúéGG™®ãÏÕ/ÃÓqÞKh­¯Ó¡—¾=³.Ù“Q}CQ1
+ ²æÕ±~;: Ò'é~!t˜îIÈð{Þ"hå¥ÂÜÜè!–“%Z…asÖ®ãéˆp}láòO«¥¦²©Ú$dÓLEy8úÁlÕAÓ8ë“ôù Nà°E—îÊ« â9WÑB(Yñ•~+PÊít•BÝOa:Q¼Å±(} nÿ¾`§€Úú|ÊQ¬Õ”H|Ókò¢>4Æ-M$îF"t~Tº/ãß·¼¿š¬îZ£"·!‰Bòö‡£ F2÷bp!÷£}
+‹ìp°±×HªÃò\®ôBRæZ×ÜOÒ‚SI[âîqB9=©X/ Y+Ö[6~®xŸÎ°d³°h«»ëÊÜ©>Á‚´õÓûŸÜbEÚz”¤Ôѹ]JFƒ3ó*¬ˆšhfU‚Lz”¦}•7XBt}nM$|¶8k9F15²ÑîÐv¤ÁË…?KõwO÷ÜßUuF@}ŸJ)Cúλp8GÉ\µþ\M™pêZQEÏë}š\`øÙ…tWÄèŠf5h²ªFÊŽ%zŒéy4
+³¬;öF2mkå}-þê6»Ö6pi«„Ëv ôQàýLl[üŒ›; ªŒW¦žË 4Î þÝ<xÃñ©.ÆTyzß½ë{²f¾ÚF¯lã'a~ù½µì™|ãÚDZ“icŸ¯š7ßHx Ÿôyu ©5T MÙ|5¸…èë–=…¼ Ó¸¥e}´³xc¦H¿„¹Ø˜ùó.DîÝ_ñU5©ÿ€\‘‹ªE°?@i·`\ÖâÜîÑ1áÑE~-¤#çTQåð’çøc˜@„ý²2â~ñ˜¬7®……F¨š5†€Q¦“|·¡Ó|ãÝr~í`•ü7 5¬&vç4á/õA¡•1qð~ñi u£clžYD1ä÷­P¯¤ªàè[.»*¾¹ç¶á.gÌ«ðB¸!åm—/uCåš-„cŸ[ 0B¥7.‡<%$A¡8³Ûb7¹í Ẁæ!&…ß¡qÒkjì(¤ðù\©b§ˆ‰>¾#~¿)JZv‚GÙñù£èªGƺS>gK!3iÛ²a`(•Ðð ¨ZGi/|kLjl»UM¬´¡ÞBD툯oØ7Á=•¯½zX‹‘ÃSü6<È»"~zóŒA²€¸hbB±ÐõJ‰DÙ¬ ‡H\?îÀŇ7 <Mqò&yw†‚œ#$Rl;%è‚ ½³ ³¢×u+Až¦õrýÉ;´™Tñó–?}¡Ô4?½’åÓÂòÞ×tªB Èë°¡ö+ùS\¾ã‡oȯ>â¸!×%“ ¬»ØxX´X¦êr¾ò8©õÙE1w=óò¥±é)A{Ýg!‘i× FŽ2ruÿ â„öCt4äý¥8“¡©[öªZ8GZp$’)!5 ‹!¦}Ao>¶—Œ_`vªž²Lù3l>LÀ]öÚÿhH›
+æ¤UØHÌ8_ؘâ}ùý
+ªµVZG¶¡q*8u×6ÃTëwóǃ–$¡Y0b•ò«T}ìÏ"²†03à#v{.`üngì©w Ç‘O1T^ŠÅ
+Áv ‘Ë0„T­‰I& |±: Þ«°Láb ©Z‰ˆ,¹ÉçJ¹«ˆµ\ÿÑ zÞ×ÅRG¨/'À`£s¤
+2,lÃ&†®Ô9®ó‡D«“ç1Ûü‰ø¸Cè41u¡%z›Ü /èÓÂWò~Š×ÅﵕЪ, ÎÏ A½ÔJ²ÎHn¬´ ·yGÍãÞL+n°(<ù³°Óüj5ØöíRïlŠóý¼|‚‘ÅwK*æ-kÁ¸V&}XÕ¸õFçcŠ"dða=³&ö£¥Š­”ÌÀ¶›ó2’å‘jÄ]¬î~w‡³ŽéÍ;ÌÛØú1“è–y݆ìêЭYœL_Ï̸
+TQ{d+Ür/Ìõ(J C
+¾vpP°béC¿œGÎè–ÓéÖ
+O: šdÜðQu¬²ïòû3ÊÎ"
+÷[ŠlzÅ>ŒI’óÂÈÔSýïm&÷@ ¡Åï¦YºŽ¹W×,iø¨jõÀ‘ƒšµ²´hrÂ{6§N3îŽc×4ì`7PÉm6Æ¢A– §Z×(tãg  †+øðfE?™Ä±*w‘3„B\(Ñ##Löïýl`Ò ùFK9 ¢¨žëâ7žú<r1H`Y’-¥|Ò7}´ì^ŽLà¬ÿ)†­ DP¯AvòïšÐ˜úŸuÎ]‘µŽ
+à…ÁÆúýÇ9®]õ^¾µ†8ºûwÍV«K« m©–˜IrÃãgª‰gÁ8á,Òèè²,©[AÝñÖCßd{÷ó'ïyá×w'oå^ I‹;rE’ØÈį0⦭[ž9Ç´EŸgO`}ê„ÿ Š¹ÃeqÖÕ¨¹õÓuXï­
+ÜB`ú n"³ËiûÿΞ"øä›ñ¢<úE+üQ\“–¢¢¡Chàø‹µÜÜ‹I9µÞãñã¹¢5óÂ:(Ap¥‰‡;ú!2æÁÚ!WñkçKìLÌÑy~-øÆKg]†íiúàÌÖ»'¿…•ðxÕl.­=÷¥ å€aUÖ`k™…¾v~×?)oz¤G„Ø,tòu¸NiÒ÷êå>u.{4ÀOóÛd[QxÚ
+¦ßcþóìÐ&Xãz߆hO1Ÿ4¤k0caüì!•DÎùaBĦ4åøåœJ Ó];RGR``±;@ì{¢ ÷lÈÞ—‚$0Èå%ÁPanb…í‚VÓaS§”&þ(7E˜þÉÕ«0VQ¥òÎ.'x þ M¢`ÝL
+¸‚µþ›ÔDÚ“ÔÙ9†ÒPÊ{ÔÜSó5eY&ØŽ…¬¥û/4Žp™Ù¸heÑ7hðÉ£·à ^Æ°‚rªô[;žó
+ˆ†%~}tÔ5&¹ƒª ¸BÖ·éòj‡ÇÅãœtßÿ úa½44BV]=¢_ž~_ÃÒåìiw7 N×túlØèá(Òv»æ“¬Ÿ,¼v2$R'€kÝ“§@„óŸ¦$Áÿ¢ùoœëcòÛ:n)"Ç—Îc# „y²qÝ:¹âŸmªo’nº ËеPNí
+‘Ç9‘ÊCH{Thö\NN}_òpr0ˆIVêøÈëþž äB“ +ä«uùçßÏÁ:üF'8ääøC“˜ûï*ظ^f£µpj~°;o%’ Ðå ½i(^©Š,… S91ÈŠÆo¼Mw^  öYîŸø—°àÌ9½H»htZ6ýp‰´jÑ¥ûV^Û@‹Ä÷»­úFFe^Áeá#¬ÒNh ƒTìõ?LØLBPl½yÄÐBÙðN[~°*)‚Úãö0_–“¢{R4Ü£ xc££3 AŸ±ažßr§O9F_$þ›Áæ
+RúvÓç»K7e4Ñž$³/DÐòRSÍ4mç– sˆJ3ÂËÏÚ‘?t»TÈr@n ÒîØØÍëŠ{:ôè
+²ªòû
+»½ú›˜è:‡—iñ2ìÊ6úÏM8ãЄ‹[»MÌ|¸ ÜØiÿ$€H¤ÇÓÿ`Íy§ÏfôUdÏ'GMÛ” RgZ‹²Ѭ lƒÑ2W¨2W\²h¥Ä~uRC´¿r^x-+@6¿QÀm=~}€5Tèš!R/¹¿L4Ôv®2½^‚{P ×ÏYMÿJƒ) Q(Üa1ZF†/?›#¼·>°œ ‘À#í‹œ±œoD£^"1¬F»Ÿ¹ŠUv?«Z³œ ;îf
+¨Qá­¬ˆåG¦òå¬Íeo™.E¡ÞQL¢ ¢æôID¬#PÙò•€JFlißT`½Ê ®,%ëÅRûëuâKʉ‘2àÅþµ`¨öU)âTé{Øg'H9T.ŽÝ=™Ü(výˆDc+ú*ƒ¿þð­~xr³Ñ5•­@ÿHú´9aŸ¦™-ìZ‡ôO]/Ô•ü«XÁæÉ›ï õŒSBÂÝp® :ä³ØÅ?Ž[þ~¸×ÃPÿÙõuxÅ·˜™TÏS¹Çn! âG¦èÔ~/sÈæR›J˜¢ùa A›î2®¹ªÛþ’u«®´øþÄ‘dµ«+°e[zê oTüq5¥û9»¬º–Ì‚K+#œã^l#58
+ÿ;Ì‘‘ôŠoýjÅ‘Û"Èx§`0ë’ŒZÓãÈ6lœI¦³÷öäšÇE
+?Ê“J­¦#_êŠj3à&3­êAøâ³S ]J ô_?Ì@ccé*´‰an P•¸+Tèz¦ïr*ƒ­•†Ù ågu¿¥„RJ!Ó$Cð¶+g\½Xá\ò»ÚÜÁQTÉ0¼ÝåQÓi³¼ã(KGM ./) ý7ψ;\¨9—MöBl/,aÅ‹x0ä$l°÷Èof]fµnR©)Œ‚+ÕˆêÆdè0²pL®Å †Ç „1™¹|RM€±3,üSÈëÉ\©–ªÒªfä‚•×ö®3}ßÆ÷ôç6_f9`Ç‘†”ž„D
+ƒÝì6¬LpNKýˆy Ñ:ç`m®¾wõfÊ „Í®ƒn0miñ!‚œ{~¢¸¸9ˆY~õK/\i,"ñ0‚ÊØ"qÄFdÑ÷r·—çX…¬í¢!‡€néå5»s€%AáÛ‡1Fv÷}o·ÿ-Ÿâ/ð¾ýE³¨øæ
+=æi'€ÜÆ+=dô¾¹™LœtæGð·xü¶ß–C×+Ø(¤FÕ^MS?&ú{ ,‡
+…iæÛ-ƒrNx›$ ä=nCÝÍÈ•ì¼"}Y;èy†j²ªdç›®u¢nklv-:ÓçU¸!tŸÁÚP Èãk$@Y¦6êõ“t0ý;T][eòLâ#ðÕ§£˜îV3(Ø4ºê»i½ÉeEðêNª%Ó ^5ß ó鉸1ví2)=¾×9þ-¥Å—ŒLD2Uó+Ýh3þý4'îS:xAF ¾ ì8lk¸¦: ;Oû÷¾üóî$ HßÛ›`Wª+ü+(B¡j®¼RƒHÈ:Yd!#}$“¹ÝÐ;5 k …„WŠæNÑî+¼\ÖMx*D*µ¯ž#h6bG<C3Gö
+‡Ð_±R²ÍÙ£™=à»\÷xH¨ÿÒM <\rÖ”]]½vùÀ vœùqlno@X°ê… Ö»sêiõ,3PY·ÉJd¤ÕWk\ãlþÓ
+àûaôëpóQÉÔËk8jv§SJ[(HHl«žóò }°©æÚzOS„3!8ä+[xK~9„ ¥Eà¨Íêë}'ǤvÑUjÆî‡úÁç ±…À ƒphá—xÿ>V‹†ÚNjåϘgÔYËØAÓ¿(+ÍØOÈÇgx”цH¸)è(AÝ,õdâßXvkc3„îŒÉ·>dŠž‰uÇ°TáÕy+
+°)þC"²¦Ÿ7ØÐG
+]y”ˆàßϱeün~ºífò\/íCwÌ“'ÃåT¶¶T~€V‚Ûh>…ÛëOÏ$A(1jg
+°ét²»Ãc¹LMoNÇM¦µì»ˆbMo‘ÕżÑîÎðÄûè{IR­{^D™øE¶
+·O/ƒMi0Ù×oyHeŽlk@K<Õ-Ð+ð¸…Ý'ÆŸè²džy9¢P? …GÆ™rF#r„åô½
+CÖšÖÜrqÔEÇðä‡Ñø ¶ãàǼ¯*Cšî¿ÍÕÚ :ûWÉ¿¡LìP£1Ô¡á4Á0Å,MßS1 Â¾¬¿´÷{ì‹Î“ý‹SEZ½3/þÄ·´X‡·ë½YˆK‚»TÀÀÜ>÷n[Ì8 à’ó‘W– „å«©Ó‚{Çakâ‘íûÚÓ¬‘×À-6ÂŽ+ßD_xˆ65$m”+wÍœIÙ¼…²ÖjÎe¥0²§ÔþŒ*Xn0 °½m;£ ˜ú^L1{Љ˄"_0t&sŠ©¸Ð[ Ë.›Üòœ]! ¯$ N´}|wÇiƳ-L¬zÆ¢\siVðê }êc Qz®c+Â\ét‡¡Ç£¿>¢Ò‡ru”~º]X!¥5µ\ÒŸPh4·.6zA3„ßè6^ÆS™~9åm2 -?\Yiõäü¬ÑD†9¿r¡ñ ­ÂÅÂrආb}AId(r!òïl(~³g6 Ñù wµY—ÿ‚K-÷/¡ì†uº÷}>žð8_Ñ«ÎH©ÆÄtDu1Þ4"UŒÆwЫs>œmÙ¡9»‘£¡OZF&…\0$™PÃÁ%öâ&¾2ëF.ùL)¾äÞÂ\êÁмÖ¥*|˜€
+øÖýwq|ȵzÑ…“ÆÑs‘E¸YäŸSxK(7|Æ!bŒ·ûr£~%xÃB-SGèÿd«-û érâ}!e½8™™2ñ¦€(4L{5#>Dz^8LWŠùClÈ¢­í»4ôŽË}„ŠÏéù“„70—Z6ÿ{ÆIJÇ+éö3(oÚìoº•l®ói•îa„!L}õ¸ª*¹(>øgüz¼E¼Òg%na£ Ðâx²áUÅò9™
+ì™±Ÿ,YOw²â-V¤—2¤k7õœÀ­Dç%шŠ×ŒÝ[§ ŒSÏWx­XrVç*îÉ7
+û½Ÿ-ÇëŸÁÑ+­ú%L =ö˜wòhNÔ^Èq‘ƒÅÑUŒ ÉD=*ƒƒ¤G;ùçFG©Íì‡P–íúåmʸ(°a>ñ
+Ü <ôÌ‚r
+a{…†Oy¿o*o|ÎÔ‚©¥-#ªÙŒN ûêrNÖ­v‡×d‡ˆ¢‰cžâRZÜ=–/<Ø3"ÿ½=†÷[j½)–é·„åO]„'j%a-ss_Ã*õ-ÄêÚ{µt!1‚!â¶ð [‚Z;¯†'$¯úr‚ÖE<iJSIA ‘žVø
+£3ƒpÎĘÉ4/`[‹¶ì×Yÿ:‡åÓÑ´ç’›eåÐIø“$äRŸü³  ËÈÃâYêeå´lü•uñ¡ 0A¯qÇ͵aÑd…<‡O°*ƒ¢ùË`ˆ¾CŠGÄwëçô+rµDzˆÞªPÖƒÏ1á]Fè($ZŽ€ñµ»aŽ1B‡ú‡œ{•‹ªRÍÆ«nÞ¦š'ò èü~¹¬×Ò–‘VHf0#yFowjÒŽŠ?g!œêñ–¨ܺ#q6kbÕRF{sÝg¼ysoÅ~@üýžïlãMÕÉC‡çmÈ7|ji¼±»‰ê2K]ß„4ó_ì?ŒqP6½4§ø’o7Þ×võ±‰âÐÌJ|XÛX´°8ù·;æ
+îWQ
+’iï-C_©a0SdvíÂ*¬ìÉ'°k¤W‚ÀûÅSwæp
+Ìß³³ãF ™„;«ŒŽ/#a^j+Cº6dlœºK,›¬€tÅc[ÔfZ´M͈@`(1LÛ E’öƒÎC3tÇÛÙé¯ú÷1ê7!ûi^fâä7¡Ö—€×~½Äçˆ>
+´5x2*Mü12Ê£= Ø¦PEª ºÔ{r¢ù7ú•È€&øjÂ…žU
+LA~Û8åpu»¬nçå¡¡¢é·³Ûs]úå\± bM‚i^vî÷}æÛÉ’ú£rv#kž…uyx§Úh
+xØs^fÌHOð ‡18E‡œ© doÂ.O ¥7ïBò¢JãlÒðß%ó'MÄzߟ Tñ½ f¼¿ßÎ>ĵíÿ»ªw¶?( ëô•1P³wºrŸº‘„tßæ¨ò®ÓNɈ]í<§`ßÇî'_4¨a6eâ9 €G=ÁášÊ©¼bWÇéÐ;ñI­|ãã±U,>…©
+{™ÑñFþ‚u²p]“Z
+ã¾ð<|Þ2Z‚E¿'þfÆÇñý¥•o#€!¤U]¥»Ó÷—T‡D .Cˆé©³‚D?ñ Æj‘"5ËÒ¤Q{^‚¢M¸3Ί÷@àfÝ{ äÐ^'l¤Æ@Ü ÊÑ–tê×~4 M‘.[t?uMEµUW#úhM”AgšŒÕ¨¡G±/_1‰t¬
+´DYè´Ë…_!Ù–¿L¾ø7'®Qf7é’ØÛâ/ÚΣ-Ê5 ©z_U®'Αp›ýˆuü¹bÓ{½„FË‹~ÍN<Ï°óªÌ€(Ù¢.4v…£ËÄwƒý=´À  7YB!<¼x1Ñ‚Žwõ•vœ­ùùY‰ì¾,*¡vã„pêÌ©µwšhw?Æô îªçKiÛ­¥T᫾ ?¥)?ŠR4'|áñaeßûyón°Ñ7*±žÂ(ÛKµG›åÑÁüˆ
+î"ðÈNš<š¿Ý±/UkX«ú±•8<ç˜7F:à•¯zíú-öE#^bVû!7L׉R¯$¡ƒ¹ë/r‰5ïeyµËÕ2nèÓo*.¯Ö7ú„‚ö‡T:èÉ’ü*¼é€i˜¥’ö绚üee¸ó3Òï™»:l˜hÞ Zet¡ûÍ/Ûu˜+<?tÕÍ}b¹8o^«.¬·pe¹™ÇÃ3éÈí½ê7Ÿ†>º—A<œ±2ø(â,p¹mk ±Ü(ÙÖ~
+J<? ËsOØ"ÿïðúÀ²ö©^4gðnïn
+wus‰·L©ây4BEên¼Cˆ–<a
+5V'*"ºe«-f#é3ïÔÇ€S\o¤>͈ tçЄÇfxB­W<C剱 “À¼÷Ÿg¤[Z2x·>j^ß³y¹¸®³åÆŠOT.àç¬wg2àýÕ¢‡H\Æ*Ó4ìAe½Õ@[2¹R¢«5ÊèáÏiøo RJgm' =œJ¶¢éÔ‘c”õ˜1˜Ç#Ö¸_32IÚ¤T|vÐÿ`=$ü8Ÿ1Qj¶ž?³‚Àðí­ÐŠ7ìÅ‘­ˆ»Ñ“‡a¾û•lk[ByIºC: }™23Lw”T
+*8Iáôìb•±~;œK;½UFÎP©âK|= Óð¥Ý•_\í@ÝàSºJÍŸ®Œ IsWh‡‰iÏÌO0|Xþ©6OwDӺܚ•ø(‹g og\Éõ,Iä3‹â‰£@È)f‹èé6©‰¸Íðîþa|g½Ð×âà½)ˆëk‘'?·ËÈ÷é…¶,¡‹Þ¤©´Û¼r¼cSõEÞxÜÓ§Êç´ÄI5n”^{ùËÓ´±õ§Û@pjž}*Ø–ãfvñ¶gµl¦àÂÇn⺜ð½~&@#ñ»«^ ¯uR{¨B] ó/³šÉ9i*z´ öBpê2bœX‘&cFˆMݦF®‹U+¿E9~ûêò–õæ8%_ –ËcÞ‡¨õ+:»Ÿsÿ˜5c÷ëïÒí,©š1–Ç']ܺr¯@t;¤
+j8³|5·‹JsŒ½. jjä¹>.íãé.âBüò/^AjÖCÚ@%2N@ÜõÀçÇï&WšÎ Äí`Ç“Þ²#üE-]ØG½zii›"ùŬßͳ¯ N
+Ê}P
+A?Ð6
+¿+gîXòû†Òý¾WH\çJ‰Å’T¢VßW<5»o‚/»ÇƆ«ðÕoÅÕ!‘*vŒrå¡5Ïà—¨Õ­­vWœ~‰.%-ååõÁæwⓧ±lwò°
+7ÄQNSàòԫħ|fÜDÓ„=‰ø2¥KÏŽ-868ØG—Ç5t ø˜ÿ_œðBn°—“Þ%®³eÇ%6ÙiŽBdéü*@ jïÚ;~¨ Qu(¬åjx[½ÑÁà¶3‘˜˜DŸ÷ßçÕ—1Ó©ƒ+lµ¡'ýkˆ›øæÄÒìÚÈîá¥ÿ|Ô$Dp¨Um Jç¯ûûwÞâÕ<V<Ç)³|ŒWì’†t€Äúw!öI'f+j±ÓÅlða3Yýy# jÓp
+Óˆõ—àZ纓§ÿ¯QKªøžÎ¨Öâ;Ì`Y¿ pcîÉÍ( ¾Ä)åJB¹ {âBˆš§‰©’¥÷NR—;dhõ›º±¤ÐÑ1 ®Úwn‡1yW˜Òà+Gn|//p²T='ûÖå„H³xP³'Tü΀ÌyùÅèW诧IâþHôöŸÑ5óЫ„D¸ö3JžçRv”˜ä·ÛÅI çH¦ /çBë– Óˆšéèè9>GŽœ¦¢;¤¯Xî9vv§K€zLÞÀá &Q¬å°¥ƒ|#³ãò©º S82uMÀà¿`æŸW*¦°!áÇ“R.Ì0ë0Ðz%¨bNFC“:†Xàט5÷U©9æàÅ͘®gæCWMZù¥½[‹¼ôÛÊ.n+U’YßêEÖ1iòY+Œƒi[é{c7\A²Ø=€qqÆù TÖ¡®clóÌ(x©B°|¤fb#mCp+'ŸÜ“gT6øœ2¯MŠö³÷çv]•NÀÅmQðøiúÑ£¼®Êäa¶mü«©áRYBáb–p^ú0Õ•$ŸÊQJ§kÎÁñ‡¬©8¥»1Ž5Õõ€ÊçSÃ=èÆv|гSaÿNôOP³êqüˆ@ëyÏR7Ïu œ]w¾ó4T*HÀ·%æò´X¬‘†`­”®À5è¶:5cÇÙÆ·ñ„½­¿æ Ù9B»ÏhH}ˆAý?³A-ùúA2ÕO]Ð_LQ •–%ä v¥y 4
+’@!º-ˆXW>–Éa~+ÄIX9©ƒF†a&ü`M–ŠõÔô±t “c\vMÞi§gÛ€@ÎÂ< >IJû2Fúÿ@‰ßÕÝÅÔ»³ãÔMêÕÞt3¬ÚsL={
+@¨‘ªÃâ
+ þÌKÓ4“Br»QŒ<&ß`[ƶÊÝû’ñño [;²Àj€¦<¶yN‘¾6äd£Î)nÉUÐÛŠ8òñN¿µ‡@??j&
+8p']Q H)`TH èî–­à™_ÎÂhŠ4Œ˜˜¼| h$Exµ•‹yã¶åÊ>ÌøGéʼn¶ÁÓ-ä¾üã&^žÏT¾þ­cÍŒ² èZ”XÛ¬XÓ²öû• MÅÒæ}Y5w¤¨Å¹Î]ÀÀùR¢CÕˆ0íÔ …²8ì
+ %;­D'»$ûáE Xç¤+c¨jã饘ý2¥fS©š™PB@¸drŠ‚ª9Õ\™Z%WÐ…ÞúôuI¤ XB™¶Ì¹(#¯¼§]ñ=HÚn £ÍŸà® RðÍÅÑúàüwÚX“Csé™gჴÑùÌE’k"ï·WÊ•$@*߈§*@ò6Á$ؘt}D½µ•t>&:ƒzõG™ò[jbœ…PvæT‰¾‹alÒ–º›µŒ´zÈ—[~TN)`ÙˆÖx¶Ó[MýXÃÞFã´¦5ýöéã!¬,înøÜÀkGLÉX<Ö‹2ñìÆõ½ÛöËXü|JŽù.5W_ÜH.Åý-K¤³†ÅüC°èÎßdµÐÈãb”SŒ~ØÈÛ·8y%¾Ï#É—¸q$7ã«IgÚE¦gWãn %,=­í!W
+D&Væ}$D=Y°–’D†«ÜøH3ì±ÍùcÑàzöFùßüƳ•m"v¯w7«Á<P¦º. ¿,À]"¶é’ËçÇ+'#—Üjm0“»*âè2ÄGil6ïMù§¡ì³kÊ9w&K|«Œ3´—üÇMrG®€²Sso¢œ·5NtñÞaÂ̼ ‚˜2=a|3ܨó=Ó—Ú‚ºÎ…ì‘z ž?fH‡!áL\ä}Ÿ¢ªwzÛÈ ’—Å0Kƒ³– iQE«®Õ¬Éÿáê˜Q¢%ÝÆ´mÛ¶mÛ¶mÛ¶mÛ¶ÍiÛ6ömľ˜ûª¢êäÉ̯_ÊQÅt‰Ríø€bóÃRŒ Ú!ì
+ÁêDÃÔåXýþhÒþ¼øÏÛʵ‰ï¨"Õøf`N«áâÞ-0AB[ñ&Ò7]m™ò¿µ€¾ªËñÛÎÕ„ˆa§aRáöÏÁŠSuhpƒéúW¨ÞÚP}Žd­JÅ›lc° õÐz踙ÖW™?õÀ65Úð²·-{ƒZ„àŽ“ÝY: âmr œÖE1W=¶`ßGç)—V'Ò½põ ‹ ( ÁkjŽí‚Gdpœ çÃIäÓ¥%X³2ˆe0nòDZàd¼ù-Ìœu-såjÏ6Æ£²‹T¢àuo\QMsV;÷(0å8寽xaÚ
+t¢z'ú€¯è‘Ìdëîgƒ²™a¢A-H~{Ë€òbü¼ø'›,0ú$dnþ£ØO’Ù<+Þq8ò4íq’»Ã0ÐPê%…·9Â}ÇòA5ñ·ÒýÅÈ'9*ÓàñÝ âq··›èÚ mÈï…©±oeŠ;†G-Æy!ñ°‡¼¢Q€H>ÌXµ““8ù2U4íÞmc|¡E6“­Jî DàvwôyVPu:œ3%O\óÈT¥ ÃD…ë_,Ÿ+ ³KHFÛF¥ä)>Îz£O3Æ^)…ñ_Ésæ —¯¹Žð|}¦Tè߃!7[cHw³s·ùh&œnb·ãÜïm^é¥#Y†LXp7ƒØÁGÄC¾²n5Ï'Fk¦¤ƒZãÙ®û›*c‚Ò¥IxG%Ô—oZ$•Ýƒ.«Mäo~Õ·EI¬·ÛV½N¢š¿|"N eWÛ7(½ú!â0oÑ_Æêe¼ùiSJAJ‡‚0ÝH1,êÃi¡½ÄÍ –m®ä”9±‡hˆ|Ú©‹-³²`ÏV:ž@¥¬Ö#1yÅ
+ÌHÓã\Ù7f»[“ƒ¿rÉØnF‡6=è”QëÜÑ7À묭°ÜÛŠÞ]ôW¼ C¸¿&½•¸Y}ê½¼š›ŸeΦÊ[ÀD`j·ÑãÛ{„<_[¢L¸Šdå#ÚÇzû?®ãG´Å>îrFgÁÕ,¿Öëéð}°(–28â .Wà!ÚŸI«¢ A\@OÙÅþ4ÊPÝë6"Àúš¢bqó¶Ð0G‘“íÇQ4š¿ß¬RTßÛ™?uÈù)/{Ôz\lXú¬Éo„ƒ~¨1z­¿_ZhýÇ•=ìSäEËä­: ÓµçÑÈþ³®hÂ…VjÐ’]«=¾ÄÜÂpåRœô}„P [Î÷ªÏ :ùͥ잉7`-<s,³Þåe²ÅÊ ‹ ‡‚Ý9ku߸8tºÍ©¦š—d«Ù9¶_zT„ºƒW)EKC9f¿{o µÚD¯Uuf;õvKƒ™¸Ù‡èö{ptg6«¡ü¼­ –°áE~¯¯ú¥·V…PÜ*xGloÛ†í}^Ñ N
+«âódã©*ã1(DhðÏo¬Õ©ÉdÀè\PÛüôr4nĉä•l8fîe‡þÍ]îN¨6RkëË¿ L<»Ó㓾)iÐÃ^deüû(KÁƒ#I笵Þ# ¨0ɈÖùšèÂüöþ¹r\á.”¾ˆs½,pA宅þÖïú¹½ì ¹S+9#DE$QÌaOÁÙ†O—‘hrÎo{ÃÙÕÙ!Cb—ó
+SF›î~Ìx¯{É.z ÓèK€]‘ÖØ÷#ÌUIa`<Ç\=¦0»b‰3ã FV"c@[ºÛÉ£/¼ÝÆyÏR!AÚ¦šžUš•Dhz³ÉD¬6 =œXžw'­¼¢g†s'ÒOD uÇC“’¿ë•tTö+6/QŽjÊ ·ÒΔèY…¹½VX¥p´râÉZõSá±?VºñÒx4!Ѥ„¿š‘qª$IæÞ ÏT(]gD<°û¹"*Ÿ†˜;BÂÂ
+“ß_Ò—ˆ³‚þÇA8ë“ÌAg$eDȪ½œÝu-4íÍA ð¹Å•[Ñq¥kÅ8Þ]l»<pÒ¼eb\èÒðß@Þ±+yèÕS–þÃkÁâ#p½Î~¸æº6`Q¶î’<é ßlÖ< NŠ-2%lý­täl`v¯U×—ÆÔ˜Xÿ4Ë‚66ÙæjˆVmA6€[”¥Ö‘è äP¨¦~ßÂöh §P鳧6—[ÊkÏ×Óî1¶e<¤t#"^oC®[4i;„Žþ_9às¨«” tAþèôN»t¡Å^Ûvµ(obÇ›¶½ç*e¨E§$. h[Ÿòd ³ãÈ>áØã>™m$Ž`Ë«&°ÄÑø4mE©ÔAæpƒ¬þøM*’qWíŸeœþ›+óf<È'Ò®q¡E™pX*ƒ/ÿ)5°Ù9¼äYÏR$-£ôÊè@A ®½óTˆ¬)Öïå®E‡É¯‰Ë>fµnP
+×ö·VÁ7&)¨ð¦¼xN{‹o>MG­4Ê]ÚVœ‹B†ØöÙ® Ä™ÝFd‰‡Rº¾ëäwwöŽ·¿ ”¯“›=MûY
+IÍ¢!ô$^‘$Tû#Ï~Lþ6ÿ
+˜©é\¼Ô§>œú0ïåËŽêÙ¹¨«ì ÌgóGuF‰ èrÓcÚLï4“Ébl\C9Ž©QµP8S¢þç¼É,ôØV
+õcÉ/¢üi¶ÿàïû»9ŽÅÊ/–‰ÈI.4wÀ©µ,ãéÓ2šÛḗãB†‰)§~ó
+ñÑYS«¿v³0Å6¥7îÿ"©è¼UrwüÒ²ê/@l† xÍî dåbãðóM’ÓóWÒ:äx©Ræ›ö{ù‰£Î«FÿðØ}v 0ní¥N€½‚ñ+âWÏ›‡4ô¿8_#’âp a0¬Ó'œJ0ZÞòîi³Úhýá´ð–nÂHIu›Jæé°®ØÚ²§¸—+•o(5Ó1ZÝh äé‘ci0ÝXûè5¾¡Ñ3¦-•<~7³“Ä‹ýòB6´v[Hx¡Y.¶Rsócb>Ãk§œVæì§ù×IÁ¼yÍIø"¹J%Eè¢RE±}š@AÏù¹î m¥Ôÿrt•òœÈ _¹ûÑ7V_) ã5 ;¥óU*×ÇÔa¼Å²£°–pXæã\ä®´®vÃôݯƒõšÂf…óOp!ÇqßAÈ„â*WWk€7K%8î <>VéØ Õe–;Òq~kÓu7ÂÃG”ó—`t‹lqéøÊæÙa—jKõáŠÿ).m-&ž[êËMĘ¡þx\{.UUƒ8r7êÈ‚Q‹º¥¹R¶¢ê˜Ž¨8­Jîç2·B‡½³Î ¸4xÄþÁ˜{WVw ¸#»ÿé¸ý+‰¢£†%X .@•VÐg`®ØÇ?êXäµþÒ‹…L¶whä×û0ôŠQ~¥T¢6óCÕ=ͽB®ìµ•(¢Jì2Õ²Á³%™dº”PĦ8Ôc
+èQéz=àä“Ãßy½üÌ¥oKêý aj^KÒæû¼²ÿîSrb„}0|Hr=ÚKúÚ
+0æÒ6˜.VqW7‡„5PÄÏç
+9/¢]ÓðõýÂ^¦ºË «#ìÈé™Mé¤6Þ$ÿW=ûŒeьɞJ³6ùâÁDÑòlué€ßC{E±ILÖ`Ùm3¬öb·–còbà§÷££Ìûä¦Å|k`Ç;ëx|…¸›UcI^L†_8nâëŸ,+Žï‡¿Ê«AåoNÐp¡ŽÌ[7Èì!õ¡8á€÷]"¤œØҞǻ“¤ûvû$¢ 3<Óƒ½§w|
+Ó$vL*ÉýÆæ̼‡Ò„§*/À=ݯÅncúañ|´Ì½)$òsþÓ¼ëg?RÙcxzF°±·Š¹ —Å-$À#ŸÀ¾â.¬PÛÅÉ)!ˆW1Š(†5ÄÛ¢Ê]AУ<ñÜÒâÙ aoRGžæ(19X'Nœ†9Ã)®Ú@/Ñ\Ô¤•Y#Ø9¯5îY£šM¼Pä©Í6¡‰oÅl©·ß6”ŸºVnA¯ïM},¸z÷ÍçÔáSuhÛö¾3R«e·@òrfĢà »‹·étb¾äú„°Ì¹–A
+·Ìj.8ÑþT‘}ͨD‚xö÷‡è9r}ÿ€ñÛà‡6\€òCÛ¯' |S¯ ÊdžÎëãºrzÜbIå.ˆ½ÖâÊkÒªôÇàØêR±²Ô\Óäçaz%áS×–2/ÖFÅÂàLHÇNêì|*ÃÏ¡¶°A¯žü4¸tú@ÄóˆÛk„Ø9ìþº>ÁzLðDSŒ§‹ÿ’ÃhŸ‘µ.†(xéÔÇrmRnê«hg-ÔˆW£
+³(`u&
+‰âÃÆkÐp»…Ÿ$vgêç+u÷A†¹ØY €f Gyi—wx-étª~wù¸`ÁÓ7âË$²…Æ4âQ¾3#Ñà së"}iËÃv04¡¹E)Û3‚Ÿ»­ø_ÚÁAŸY‹]lÅ2D›QÇ.„óG€Dqy¿~ή­a•‹ZA¨›­<uçi"Ùq#¬»–¯¹†,L³xø:¼Ö—·ù1¢A$Ü(þ5°'‰%ºUèRHƒ˜›ˆ³üÌ’¹44$¸Ð¢åV‹n“ e=tö.*'J,ºá†wÁu?{©Pk¬Í EÇzByÝAÎmF$GýSÀ­{l1{'šêƒS_Š½¤€?êðõMf~Í=¢ù¿æ´Ãò"®WÝ_~!œÑ˜÷ý=¶L´¥B‚FeOç²A;‚ÙÖxf³{ì!F8åŠ]e¥j-¢–e9ÏËÊ®¼%’E[íkHŸ[b’™d­†ˆô ³ÍZÛ½ÅJIŽ[BêiŽV!,"AP‡?ø¤HîßQ$^‰Àب#ð/~+êÈJ¾ê=D‰Ö¸=ªk~¥'i?"ïT˜8LFvH“+´,RÎ5žæßËíÄLw«ˆŒÆ`©ÖÔvPx†ÿ0ù¤m*eW·ÁHƒy
+›’>!Õ½B
+¿e{´Sºh*VÃ8+C$‘ñ¥
+c¦t¸Gš0ÃÍáÙè‚a
+ßdN)ÔÒaú!©´°¤©$k÷êò4‡ciUbô‚Ø’(|ü~€~äMó[~r_bÓ•ÚTVzž|€\õ¢³»®qýýð­ /Jç€@-½0I¦@ 7Ñëµe.Â"aƒwŒôCÕ”7LyGB°¤Íµ Y›{ŒOÞk.ˆÆ’šô©š¢G×i/·+´;Màå×è«&^<¯¾R¦(*…ê<Øì°ÝØÂ1ö&ØÀ
+gt€9mëºüÁ¢a¡=‚ŸM_8¹9ï?·§¢€½TJ£¥˜HYz$6vݷᜉ·G`†•XÌ°ƒØq\së¡7^ÿýŸ1æþe齸ý©õ‡îº&Ç7xêU?#Ðè*mJxÛgÉŠ©‡ŒÏÕkOкþá]˜cƃÝÁL¨´’OèV“‡QI­P” :MŒÝ䲡ÎC§Ÿ4ßÇ!®<´é;}t5 –Rô´Ê VúYƒ[é˜y³
+õe…À\dž)¡?"­Ñ­„/yïÊ´´"V’;îÓÍŸûÛ%qó1#¼Öb}Ÿ“A¸ác<Œk«=Æ|ѸKe^ug}7ÍmêÔ~ò×€ÄÑŸGÍw*já{ê<¢ U¸÷É|}¯•sipíÿ§4ÌT›“Ò?â¨ÌŠe f.t‰5Å™;±mžT®ïïä½# ÷âE΢å°õÅõ–KÕ $;³üå=°…#¾ßEõß‚K³@Q8ešQSµá•p‡BcÇ&‹ËWÂ@Áã]À¯%¨b»ü‘O wà¦
+ó57ëqé7>Ñö”CJT"à5gQŒÇüÅ©p§
+¾“¢m:?ÌÕ©>‚ƒ.¢^䙸~ÄË#±HL U*Wÿ1³zùî}&AÛ>+)”¤²:^º–ŽÐÔõ«ìǛЈٰͩEFN!ßô|Ž@~Bº‡º
+|_®™úPÇ–X}ñÇK°ÕU:÷Föl6Ôm
+¡ˆÃ eôt—vš[ƒyòÝB3úpv}àw£wu±ýSÛpQJ/»Rók¥¹<OùBê3ö®@ 7Ôp¨M[ý˜ƒxïJ$uÖÐëœx³£Þür„ìþ—™!Å`¶t¿J5ÿÜë¥æ»
+˜‰D䧚B­UÖD¡,§Nxu>§-@\¹gkwF|Ó$t§u è-Ûª‚ž­Ö@Š•µµìe\_pÖî;㸭¸—9:K1
+9O-ßzÕ—´°eæ÷ šÝæ'-A4DÚ#Í(@[–Ö742<Ç}˜½€µHÝ$‹]AÙÿð• lK_«>¼1¥«‹ó-yS·a‹Ë÷- „“c`àÖ™ñ}†¾ÐwJÖqæyá`­óåmÛÐËõán%écG¯WX¶]¿™ÿ
+õC˜u+Æ_Mkoæïz-cC]HG—éHüÇ¢Êý֓룂)_[³éÚ͵-À_.tîcŸg‡*¬VU ÷»Ê¶×ý@¹Òçu¯äïe3m‘슙hÜ„9HbŠXPWÀh·×óeh\â­þÔ¨œÌ¾—‰óùo˜6ÿÜØr…¤Ë£ZˆøžtKò°±JN7¢ðüþ7_–jBÔ?œ¥ë5ÎbŒÈ‹^[íiM1w¹Ýù…ð#§nkÀó.¡¯#²/ðÇe»QÑ$9Sæ!3®vW6ÊW„)Hp”7{Ä¢°Þ½-å_úS˜©*(õƒô¾k™nx½?†
+°;¿‡ÔÈHJç uFäÎ"ÈÊ }ám$àì9¢c.7¶&+²­Íl˜ÍÙd„›1Â||íµÝå͇۵%¸".ÑO­´ ·^1¿¡Žôü ¦U¾`åPïeAÃ0êô€h<Õ=ˆKÙ7Ñ7Fì¼EH5Í×ìœÉ~»)ÚLBpÂÀ º—+ÓŸŠ>ò›B¥ö‚€ÊI*¶…Ò-ô]æÿn{¾B>í#¼(èi:DA‚ â$bxùT7˜ôüÂU3yÊW(”ÁÞ#
+P_gÒÈø¡0ÐÉÈ
+r k¹
+ Ñg˜)NNµÄmÀÑÞµ®Øp[ÝÞq2×ô‰¥š¹ËøÂ4ójS^<-)^¾Cwÿ^¹oÔíï/“‡' ‡@ß…+sl
+Ÿ¸O¨:Jc#‚ؾ~”[.„Õ ü¾™<ˆÁþ4o’ºˆä¾s#ø
+càtÀ\Ý×8Q©ª‡M…!Qvp~;tDñQ
+o±O<=”’{ÏKý*8èë•€q4öÛ—ˆòزg‰û`;@Z D>^oœ!(§ZÂi3ʷĺò^Š={.)³¥ŠŠÈŠ¨™&bÔ@‚ ®bËÛÝ6Ãzs¹¬Ë¿íÈõÐ5O-ø(;¨á•M…˜Žo1ÚòÙ®ºâýÔì‹NdI_L/Q2ïnd É ‘ù÷†ìm+t[‡«t¦ZÈDć4ØÍbu‡W‹ëy6gÝHáûN‘wîœî‰HxÃþ8ÇÍÆõ­ ¾,<契y¢ÐïSÀâ1 òo­ƒ¿míõ`¹hWk™Yòݘ®ÈQs¯ñZ–í${ëÓ‘H :Rƒ
+ ¤+2;PSÒÝ›YÖ
+WÛ‘>­‚„Mܦa >1î ~÷®ã%ûEuôÍ#%ÒniÎ{` ‭€¤é"`ûf?X?`ýY„çˆ+²Ú¤Þb¸Â˪Íí;¢û“Ò¶˜5ÈQñ"Ô—›ùjÕEY©<JhSWúÍzž2¢Ý0øtÄkv@ñ,9âN ­¹¿z!`yækøúXuÕ§øܳÁiÆ$ÇpmÇ·XCêX'h7>+îÊÎWPÒrSEž*Õð¾ »ï~Bjå·$š”œúWÜ@«å×Ö×=?c‹‰†oÎP8ÐÊk™ýQ4~Œ?bÍBØNiB~¯ÀRn*oÇ÷ ®è¨4&[@&YIÅŠjqÍÿ­a.ȶÊ(7M-Ñ`F£<4,á™õÂqMõÏÊ€ñÙ%blnⲸ×áaŠ+GÅjø§åõ×ÙC{(vÝÝÔÙ³R9¸s«…+øT9lžÕÎAJ—jç¶Ã„ÄT–”á÷ùýêT»4¬r8[%¥…¼E«=Ø{”h(YÏX¿
+ƒê潜írZõ,s¿Q¹fÒ®m·hQæ¥mó}N²ª@a
+ø à`ëi\~1ú8¿4%Vxž@°™¼‘¹Ú-âEÁ£§–¹ÎîQåK"õyÇwüéÛèTÞ”U;o¿„°Ö<”¿§Mû™ogž&tÒ<¡x ø>`̶ý “" ¾”gï2´ ÜP½±r:t7;JTÒ³¾rWYÛJ±Æ G/Ý`dhœ f« JÞðFuôï<m×jb bN
+ ÷ÐE½@0sUr™õªUtœað½»R~ÞìþÙ¨ßÒvÀ©EÃ#z£fŠ0ß“GÀ;.­æ˜­ñ³lËHþa;«ÿH³ùwŠ±•ŸUNPDW½°íñ§ØV]#pn§Šò«}Z±ÛŽŽ“yÌ0‚ˆ6áW™™-|¹R6ÄÞŒ ‚@,HÙÄQHXÐþÏk«:½@ÝÅ®ŸÞÉ»P™2êQPìÝL;οÅídW]öÒ›šc"æ[ÌŸÜ
+Œ!›,¶ *s+©¢nË?ïùå¾îB¯U¹*¾#^Bà Aɾàíp®xèp•#o†6O‰òËætQ‡Þ¯uâºÖv"ª Ó³~º6p”£þ€Ö>~?©PJqË™~íãÀ²é“¶DÈ3Xö‡íuœÉêIäo_Úz`/Η?uo¨+bZ®¨Ï¨²w†8/eÁaþAû%Iè‚ó¦UŽ8l® -Ü»ÖQÃ.ÂÀûXR¡¾Å™"[;Öœÿ¥\÷¶…°ÕÅwqÜ9ß©‹§íßÍÑ]‡K­ _û¹N¨[ŽD“„8ÇCZÀe
+}’  á¾$3æ†'Éøx<Ö ¹« hò+^ì¤Ôp¤S×¹LÜþ|:›û%¶YšTÉ­stõo¶;þ+FQïEbOÒ<U榜Ô¶ZQ\&o~ãpt4š¨í°qej£VjÀ"àÜ ‹i¸*KGšFyä×þ[…!+¡ïúh£Af³ÊA˜
+ƾ⯠‰"õ•–^òs(æqV¢7¶»þIã 7b[Ñoh=CÐ=ˆ\u·i@7T½(çÅÈâ 0ξë…0ä±'¬´…¥7ûSŠô†RU¹Ó&й{›é¨ð±@ÀCVXWÃÒþ Lííh¦íªÏ²ê¸edüá¹ZH&¢tì¼›ÃIK -ØñÎÕÁ'¡‡˜Qús ¹mÔ§®0º[Áj_œx0´Û/FŸVI€&‡€ç.Äð;]îÚŒZñ·ë³ªþB¾˜§%öË
+º½ñq“>â!m§ý’
+ÎhÞ…£1qÉZ=Ëùë }¥£×P,)¾ìöé>žì_+•84$Û÷òP–€Y†‰"{,z¸ÔÆ×ÍÛÈ&J¥ž\rB·àÕÞL{N‚èoì¹ÓU£¸˜4ê+}ø°€¡S!žø{º@Þµ–È2G½í‹Ä5»„ò +?œó}ÍÃtÃ)½Å)ΪŠW°8b¡ÿ™þv)ªµØ‡ ¿w•q5©Àídâa– {_„xtÔ5ù’Tbì[ÔBwÍ}Qƒ:Yð°+Ž&v¸Š“ÃdBzÄ”y ;ÿÆ¿é\¼*½^@!a½i§¨aŠ“ÑæœÉYEH£uµt4ˆôtBa¿Ç6Ö<>Yr¡Bx{_?œrK* $í;fŒÅ£y˜$`G¦<mþôFÓÑ‚V°BÏ__D¾¬ÒˆWŽô¥à¨ÎÌ,ƒ—DOÉÛ’™N$nå©ç5ì$ |øÍ®;Ÿê“ÝíîË2{±¾²ÈA¯"n5«Ì›xò½þ¾î&;Ž¤»#ì><{ÛË­( üË0„ؼ"7Emêƒ]3]gŸhîI__¦þúÉ2ü[L÷–u6£pW¶Ÿl–•yïaž…ÿ¿Nx`fÚY.àËžâya¶¹Lâ¿lzìqˆ±ÂêPA^MÔ®†ï§O冔ìd§A˜p—î,ØÖ/‡‹òÖ¨.i}yç×65ÅÉIØHÀì€{,ÇÇF5–)]ÑÆiĸZöµê¥<jš¥H:¨’jØ uú…åFÙɪÇZòÜv”6~.ÿ"fW­mwç&êíØD©y†„ÿÒ—ÌJ^ӷ̶¶ÇØÔxòÖÒ
+=HsÂwhnCèÃx>9R^ñªER%¯TöÒ­“íÍïF§~KneI±Ó)"F<.§j¾7”à&4=È|Œ¹KeÝBS7p‰ôùîØYñDYx‘®áH 3
+&!ZWÄ'ôqÕ‰>ÇhdU[ yT˜†IZAÚí‰ œµg¬nP@3½^÷\†Y¬‰B=ºpþÃSªŒñÊ´XWåÏ]–=ø¸¼—ô“@o`ïwb;áxˆÿ,ק)ÇÔþƒ¨›‡m´ø&D“lk0²küx½dX~Q9Èü«:Ò£U¦]Õúû*¦ö/HÎþëɈy±¨ÑŠšœSoáZøAÃ
+$¸qÄs•À“áέB%R¹ÙÕ<'¡úIB߇OGÍBó×é^ÊÄÂ¥ŸõßX¶Ú´bb+Ú7âÖ.»ëŠ÷Žº[(ï00IÁõíë#zÑ?!¿l֌ǜ?Lé´î]±²‡
+’·“ôÅêý¯|#¼§‘…£P_›aAéA'ÓlˆT]ᤖ}Òö@!Ñz’³V›0‘´¸+P¿Œ du¿éJoÐuePëA OrÙhÉ:/Ç©¤Ý¬[¡k±Þ¼moŒA
+)Vly\™¸ÍèÞ5ÚÚ´Q„ß„åÜád–8”ݲ?1S¿n¿x#°z‘
+)ì˜Z¾ äÎH!A‚*9G=@í$iS—×¹yøU½q„B§~æ®ò@eá/ò§:{&z£³ÙŒÏí ‡œkÖŒwõÁ§xƒš—Sˆ‹ hœœÔ™°Õ“.½þ–óÙž¡Ê{$…äœØðå~ï±zD£³úÝ4Bšæô0q@»’3ÈÕš"3ö«Ò?.ÿ™P•Ÿõ…?$Ð$°hš¡Z‹ôîœË]‰¡8Õ27NŸÙ
+%Ý3lY’3–BkMO(dðõÂUP)¾ø
+´ÙA
+ë¤ôÝ–v÷D¼úwˆÅ w6pÃÇëµQ%§‚ª*C£¤=‰ãŽ³´°S!t°´N.HÚ¥LL¸+[wÐ9/‰½¹ílÿÞKäf5ßòc6L®™FóvkµìØi[]fß ¢Š˜
+çòòÉG1ØÌøðžR"%Ó(&óèý`}@B÷K½ç™PÒy§ÊLlNx½Q‹ƒ!£=Þ­¾ÙíÜ
+ü6Çòj•@DÚ¿ó:LB(½êB%eŽá,¸Z(éÝœ™4ˆ±ª˜ý,–øS*€†Иô=Æ Uqö¤9l†‘òIÊtØ;ö—ý/W±QW›Í'2¬Çé¶-
+¯ÍóÕ ¨Éÿ¡VGÍ57GVc-®:íùÕE„
+ööÉ\j1ß3þžY7•ÿðž1`½Êz›ÕL%ð½8EÈf¤h¬…Ì„AaQù:Ù»ÎĵT̶O"#f½p¹y/pð”6sJ¢6— ‚26 DyŸ6¡Ð–þQÎ'àVDÆÀ4’S®.ë§ÌFÊ Áž×‘~ö.£Z§=ÙíóFRËjÔn^Üç×êÒ–ÿ~Ÿ ÌŒ™8E8O«…ýð
+¯H2Ü!‹Ìê|HD
+2:!Ô%‡4N“h^b¾þq”­ü¶ø@l,Ò—úá‚Ä>ó³^å8S|hB*ÎÚü8
+‹Ñ×jü Üln
+}f3î…V³{¹ O¾¿WÄêt£¢˜ªUâªaqËöPˆØ3º·ôfªÓs5Œ[<ÅÜ·M'0ÇÍÃcõ4š ‹­?RCf;Y q¢¤à«GRh-k²½@ï‡àB! éVË‚x“ºUYü–¾CÏn§yQõÛ¢×HÃé™Ò">_ßáSõÇŒˆÕ,ÁŽ5ˆ½™.èo¿«[ðB&½2ñ@4ž¤@5é‡ç>Ŭ£Uê[¹7§"âûrŒãÔ·`¾®Ïs> ÏŠ$ gíRNu³ú䃀Éøzr ˆáÐŒú+ƒÜdÁî#à$S
+¿™K”¿ü¶ägY¹ÙŒô;Q›–›¾…må2«ÛâVó!ìOYÜ '©Ñ‰ðªb
+ç .b-ˆ$xÁ½4È‚y¬õÿì•’ó»vˆ²•îQò­ÞÊú°õœ™Ëyt˜¸ò*†Ï$Õ^fqEMyãKtNËÁ(ž9õ{c(ƒõ~ö¾D­öeÑ/çIÍÿÒÓÁÇÇ\µ1ƒ|5Sºy³µ/.z=L‚K%ý±t
+˜å~›NbÔ$÷JmÊòöQ"#®KTØ#Vÿ6òÛ’–²õyßoP –&:ÇT¯ET_åçŽvyƒ˜?ýÂg_qñB™œl.ÆŸþþsHkÅØ(Š¢„†H`¶¥œkÛÔÃƶØ\ ´FŒÔxNØ“‰E5=ŠS¢38(ùX\ü©4wò—7Ùî4ã2Œ`2M÷¨š(Nü㥚G,v|ùˆLþwƒ,
+RµqRÞ>¦H¤q‚åaÙ™7íWœÊù[î®UB!œÝî"öÚ÷êþš“Kpšü.…>ܶç:I5LX%Hh_âyÔžjÀ9hNP÷
+Jº[—‡ Ž…2tãC7¼VdyÓáüÂ>Ki¾]ÿ:›oÖ
+fë0lM-=ß)_øˆ~VÍ×d¯µ Þ`“;ª~5hyµ O®yoàŸíbÑ ¡HÞ¦Çâäm÷Á©l’††5'„íÒõ W³×¶ ª ¢ÍE‡Ü«ÄèÎUî-|´¡pº¯ÆæVÇja\°®̾¹€GdDhÃ`ÎÅ@Ÿd?1n-Ô š!ºÄrP}R‹wî„ß‹îfGþüs ûIãC­š‚Ù²ÇøÑj<ŠDß)ååÓöýë%´ä·Ý@pÁÓ Y!6ŒÍ'WÃmxnÒcü,7é­zÏÍØG‘ño“ú,Ùª0 E*¯’:}JÊã
+KŽ;Í>À|7j*fv¥ÄûD‘K@û8ÕÛóúT{ d5›È1¨‘¯2Uôb%UWô´ØW”ñHú§ü%üHγ‘Z•þ6þNN«³ßw&·Gœ…ò³g08~`ÜJ2<AWÇ÷:ÑÛ’`
+u+?N‹gþøŽQ¹ELÕ¡2”˜ÃG æv×ýµ Ê
+±ÿJÖ—$›ÕàHë,H[Pñj+Ü<ÅË¥åNþ”7AãëRðÍ4·,ìž ºÓ
+Ìh{|»#TKí™ßœOPá¨ü6@á(¬çš09ÅWÙ)®×)ŠòÆ[K¨¨
+ìzyÜÀÞmg¢Ô‹4êñyÑÖ“™åcù=·Ù¿áÖö@*¹ÿI'jýcŠý8ÎÆ—AÞ'qÑÏ
+g´÷¨XÕ&ý'ÁRÁå¥k¹®Üœ ÜÈ+L‡e(­¢
+>•,RäÙ™rˆò®©˜¨ 9ºRlȪÓÍ€-¯mÜ;\ye²`ü`òt@§—ŒŠíŒj¢!ÿ¡ÄïŸÉxÞ$û­‚úd
+’Ð2f†cS7ÒV$<ù‹É°?.kTßÝÝöÕ9¸ç·$ÛÄŒËÜÝÖ x…-@}™hüþÖXq™ì/9Añº¥
+Æ;Jõ¸C|ÍÒ+ì²3‹êéê
+£‹Ô½÷?¨¢
+hT-,ýL
+_+N¸F­‚ÕŒf«Ï<ùâà§a$àú„KÍÑš‘p÷èÞmBË?üm– SÁƒ÷ðéÔsýÝ¢yó3¬ˆÙ*O®¤a45°d!Áxi÷\q÷OL;Û.x8¥·×ÕÄve{B e×üÊ/®GdÁ§•ícW)ž¹=±±ÂË—¡°[M¦–@º)©ë‚ß»v~«© ·¨ÕÔ¹µK•FǸšúƒßŸwðÙr}-D¦ŸBYÄæ¨:6™Ë†w¹æ“
+ é¦î)é¡XØÈn'£ S(r
+0óøª"¾“ §©!ôh˜y¥×Þ÷”¤[önAÆ~ùÑ ›¤QlVâ ã¹dVj¹­
+V.ìœÊö¿n]—béîø¦»Å’I±¡ÿ딑¹Ä_ÉŒ*r¯*ÉLclrèZ´qŒMÚa6AR9¿|íY¶Ç ¤Ó¦ä†oB‰L½ÙrÝ\ÏÍññì N´Ð•7Îurox“=1õò%+ÇX)ˆ/mF!]–>áÒœç(ÁÙˆ=ÛBAe‰Ž-±¾ÚW”½¢´æR¬‚…÷WùO*¤2µ»£{h†¯B-ÂœÚ
+лÏBŽšÇ[4™“Že׊ K…Flˆ¢…EDmcPÇÐà:"ž¨%Aµ¼¡™ZÞ@ÆÞ^ƽ°Jßõ½ aÀþo×XÓb¢œá9Ó§L&Ï™ª?ñ—Í'8ïRU®»¸œ¯!°šJvM[s¿ {µ(Oá¿ ÎX¦VK9é!ÄŸŠÁÞòPÏq3s瀘XÝ}ñ3{ âîqù›ÊÊ„O,ßµù^ѱ¬øyŠ-6?Ä ªÚk@Ç^ß²é³gi©U·V8Œ´©bRŒ´ñÛrÖ_2ÂŽpq¨¹t¶” VÒ|Œ•°“`a*QQ‹wºÕM€fO±v}’ZXgóÀ©[Ñ}Fy›ªµ´á{#¨j€¤xÁï8°,×<7~Ul|/¢õàÝ|×øö~SAHP$/˜€î%Q`´ÎrùOí‰O Ú&Ë“È‘.¢D ?Ÿ%I¬ébx¥:Úlœ9´©¨-£½6Ä€ú©SøžjK åoz4çw\gÅ-Oª±%±yëRåOlím÷`[rõÙ½zGE9T÷m<Lf/®Š1-×Ü`4¿¬ÄŠ SÂx÷ªéØÆÆ7”#Þ®Ÿ8´-cVÎaŠQ®N.ZWÙî7r(`Ê9-v¹:ÇÜ®Ìý¾xÁæ–“¿&ÈÄ”ÎXü5<Ì´„b¸âa ›ð”ÈÎc/AïÙaQ§§jSÄÜÿ qîo»Ð'žÐºS ~ðËèöíäO`êªD2Ç*(ƾþ’eË€¡›ÝC–A|~iyoo'l¦ú3÷RB²¾ŸÖbg’)~"õÛ Ñ/WF ‚1Þþno·§o}Ñ0Ì}˜± XÒéhwQø΄f!¾ÅµãÙ\Ä¢u&(Üÿ
+ ãìä´LùnäèÓæk(ÿ™`SéÛª»¾„§ÏF‰.hØ@.õ˱緔_ú3{´M_‘Ï×sLÜÊÉ÷'œff]{õ (pöçÎÓ±Sö´*bŽ¼ÔÁúµs+ú2±¢¯÷Ðb[LÝ=&¤`
+±;$m—ÌÔå¯OÈFÔô,ÓÕ³ÒL.°<­âÒxRÏÏ›uaþ‚lÏÌó>GF\hÞ·§"~6_„ç[eµ¬2¨Ý×îþCWkm³ãQIIpöG$ £Ð±ÄzyuÒëA„’j¾ì#²·™*i¿–ig#íläR›îr—µÈ_çêTª˜°<¹&>VÆö>KÀ¸kèØÅEkâçÊßo6%ŠBºìcCÝ°{¯fbõ®Uõ$<pO”t’ ­­Òa*”‘Ä\ѤæF…’J㌃%+•\eˉšéÿîyò(^ÀáC¿ŽqÑàõÂ$I“¥ÎMf¦n%]èuÁìØùá}|K!ËÅXÓFà†øÿLlåÓ]Ç›Eð Ö—‘‰…ª¢”5ñ¾…Çz=ºïp:σÀÏz»âÕ \tÙ¦ëòÑgiµ
+à‚ù<Öod6£ãq¾5øø·¡Ê‹~€TXtfÉKV® þ>©¹£tòfÌßš„à;¿mÿ90D‹_…²š„:`•TýÔÓp.S;É
+‘Î`Ì”VŠõÛÂb! šŸ•æ¸ÅIfWší-Yt” ýÕ>ÄN2©þõåaÑÃÿ.Î]4ǃ! ü@õ vüÓÛ¡'>oõ ¢ÿv·€B3 ÿÃvóI(ú´çdT\ðH+ 5$ˆµû:óÌ.Ñáå\U–êý#Aqd¤ÞC ”|É»êF¾6r´ö:›’®H&[/`Eý9‚m$|']Q6[$Or–ûÍ î
+Ü,}y";(Û¤^Y‘ÃÌÐJ'þšID©/jÍm6äÿ.Ü›ñ'‚ *2¶3Ií
+›‚E5‡§¨kÌ]ìÙKÒÐA$ÝJ–B†!H·þV¯é¥
+l"ªŒÂ­Ÿ] LÒ‹Féô>ºôYt(Èi’?‚ñ3Œ¶ÿ‘ž•<œ¢S D¼Áf*Ï ©÷ÅY²qá¼ø
+ò”&Z×ïÖfü³® CÝ©Äak7ñ•0—…‹ÔÃV{w¶í~Sø ¯ý¾¤£õ¾G/–»OuyxÖkÓ‚4~ô
+2”‡$cB‚ŠÃ
+f"ä§ú¿W>R‹®ÌŒ³:¦ËÐ8ŒÙÄa ¦}›MÎÈæµî¹í_4$w¨4’žÞ<Ù°Š|R9üÚp‘t§Ýi„V¥QÑŽ‡Q[ï3´è Ä“ÂeÖÒèP•tcì=É—•ÝØ8[ó†vÉDâ=!F†p£Œ7p¨‰ý{pýÿõàú9gBœ.ƒ¯Ø Ï(4ë†iC­ˆýÁ*Ûò(æº.>[ÍÕÎÌæóSKó†ÒëÓófÎVÖÏtÈhž×”ØÚA(oƒ‡™;ì(C.Ê…Ë€’âzÒ°.4øçlÖ‚Çضt<Ÿ¯ŠT‚Ç|-$gÕIݼ°aßËÓá.´ê
+8‡E$—Ob)°JRûƒÄsyš¿]éh.çÅ‘Êû¹PjáHÙš{KpøÎÛtJdPç£Ù´†L*ŽÁIÉÄ-Ëbΰ}L#z–uß»ÊÆ᤻G¤ µ/^¹
+Îù©…JÐsÐfü!›Uj=o%X~ü C­9~~Õ¬=KêÊ2ã[ Æ­ü‘¬5ÚmþOíÀ«ñ6L7ØúF9{½Ð¤C}OŸ¿v#ã’@ä~·\â ¤èQe2Ihô*4_Ä;¤…èÍMÌ#M} 8{&zMŠÔÚÿBIAƒêjÿyÒËÊñ?'®»™Ã»u~Þ&:
+ãí¡w·þ'ýáÓîJ&½»\‘Ià4©¨š/EZK;sCm'ŸÜK¶fùôYøVŸ+
+D²„0î¼¹¹do»‚ ìðžÿ=ä®ùµe¢HÕ&Øß+÷W 0æ ¹šØn–§w¹Ï±á”W­\¶Mûy(cÍ6º:®ã †ƒhfÆN®¹Êë×$:½Ì6}÷• Ç]Aª§ ”¼º¦íà&Ì0ßu@™u'aÑÜc‚ˆT¯Ãrv•Èf§ˆô)ˆ·V“±h?Y³ð,Ð`Ì÷ ·¾ƱÃôaÁ’0,Jœ>Äw6Ì.­ß‰mŠ,ÖlKìßØ{ƒY,#´€]Ña½5ŽL†ié»pG_Ðû(ÅûêdÝä2pwc$ÉÆ ¯ìÉh¾ô'M!¾c5¹héuÛv¬IŠ>èÙwº‰d0Ò{Ÿ¸lš ĘÂ
+endstream
+endobj
+77 0 obj
+<<
+/Length1 911
+/Length2 58935
+/Length3 0
+/Length 59352
+/Filter /FlateDecode
+>>
+stream
+xÚ|¸tfͶ.ÛV'oŒŽmÛî8¼±“ŽmÛv:¶mtlÛ¶ñ÷þÎ>÷¿gßqïXc̱¦ž§jV­Q³9±¢
+±­!PÜÖƉŽ‰ž‘ gncnk£è`K§ 4ýeeà
+øgr
+þ{Žªz8ëSœou±ÐkNñNîÉ2땕턵ÙÓR°Pñca‰§ä_g}S ª¾·ìè ¢É)ŽÎVùo3¦ªl0E!’»8‡²«)·­±S…òhοZ^K‰ñM LŒì¥ô Æ úüHB¤ÀD(R¢<?ÇÉBÂé…¡Ãi»‚¼¯imG¡øX:äÐðë© Dclƒ·ÐŸ·ew§ØtN?.ï+' U£‘£«šU£²—Ñ—j*¥Úª
+œCQ[•b\güán«·†à={³›ë²fîÖé÷üÞw¡L‡Ý0:•½Ð?­,›sÆ´Mr£5•Œkżqµ­
++œLzŠUäGðe4…ɘ+*ƒ#•_ ÚšŽ¤Í<ÞB|–¯ý$o³¹© Ê‚(d~FƒÊBŠƒÚ]’å}Íl±HÂ}úóœ´xzÇ5îŸÝ0øî cEf{¶÷u&˳ñÕ»°bÏ¿-&Ä=÷:8$ÛŒ=ãa äÑäʸÊü‡Œ›ß‡ðbÉ€àš|»ÎÜ
+}#’Påì>÷í$£vùe4¾yæ˜õµÛìõŒš-ž~‘ùÇM3'ô´!–ÒÄŒÍû—cÿË»8n‹2¶#5%á‹Q æM:^¹téâÜ{!x¢9¤ÑÐÛJ´ï3ùzÐØ]è´ "!d_Ÿ›ý—hižõ!ˆnÀ8÷aý;
+úP}hyÎvÓA’úÖaA@Eë2©‹Ër÷ó («B(>cYuOØœŠJÿÏ3Õ¯° ot%S«CÃ]àµf›Dͯ—.èPB›0¼š)ü´›lbt¶+“ìϽ…8âZñxuˆ;_š%‚ow%Õ}‚“rUÌqf×g™ŠßrY}|ö¶†JCÿ˜JÑ'×Ãâ>^B™BWtH˹¦íZ뻹!†óy«ˆ»DT{Ešª¦Ž[#XŠƒŠ¸‡pšÄÓßöœb6ÂäcU€„ÓO¯T¬‹±G²ËpHµ*ß°ìÕc¶
+vë^Ä:|Ž&èš~¿µÍûÐÿ¯>¥a¾“À%ÉIÄOˆ¬Vœg‘ ä*ÛKó‰ãRÜt¼ÀKÜÜ#nº– =.U¸Jz¨Ð×Ã¥°p?žÕò œÚgFˆüßÏo‡F´± %ìŒ/ÜÌü㎌½§6Lß
+A5pFv~x5oùÊ÷̈¿ÏŸ‘)ƒ­–S¤a8v/12Af;!A¤/ôÛ¬{5¥¤k4kqß+Gk¸'ŽÓÝ^–þÏDäpÉ?L'rn§bG•2aý‡«ît#‘³¤­‰vÒ±^'ðw΂ý¡ü$mLÎfd`K¼mîwÔ9÷Ü šîÑ#»Í×zA7«¼PW¬BH7 ß2³N”
+Uc-(£Xü’…*²ËøKÓõï Ó…¾ÏjµW ™u ÀAΆ7^RždßL÷¼‹Â{H&Ôù–ÏÇгn•N!”—ˆèTžv.™T›ÓÂæXEKý¥¼}sÝR΋[múä'jaZE”ȦYŽ&l¬eÚÍP&’ÏђΞCëŸ<º½ßÜH3ˆ­ŸT®Ï~ˆlÌÚVÈîÜQ7­¤Å¬ïwöΚ‘óËêˆÞ¢BÞM굈ô×´¦!ëúxàÍ_æ`<ù°Jn+®3‚öz¶ƒÅW²ŽoQr"Üíp2†@3Ú–÷fF¿CM ·‘/„Ìlw`„”ŽçÂl`-µŽ½ÿžáîý^,-x™¯'°jÞ×Ü ­Ÿ*j— ƒ—îÆeIÄëãÛ®Mý8¡‹µË9ª$ã°çaÆm{ Ž74Ë/^Ê׃gv ò*af,BXéþú´¾+èþêO˜êÝÝÎ]kCÍ[0ð¥ø$vYÞþ dn ËÓŒáóˆGÀÎ0ŸV†˜ÎÕlÍ'>kg‹÷æDó%X& wKḒ¸€
+dùS”öê
+ª.!Çg+g¯óâægž#äa?Y%§KŒëÑo
+P¾µýfÇ5pBšz¡N¤žñrmé¢ù$ÿöåÛ©?;}}? ½ zÌc)‹[Mß4ïq¸iIjLÓò08 ÷6oIRÚe[æüxäÞâü*+)oHv7£ NwÏõ—® ð
+KPʘÃl=á¿ÞãÌ“‹¸º¬ˆ¤[¥Á¼œn¬ï_ šÖr|_j,ÿUWͺôðRFá»5[ô¶¤MaçÅ·ƒ0sW[di¸7*ÛÀ3ô§-«sþn±­¼=ÂE{ùaØ\uäÙ"⯭Z&½àÛ%Ø óŸ=£!Ç1(Ûü.¾áÞxÞSÝ/‰êìÄ©ƒ• kƒ¦"#©-‹Ê¡´7
+›£A@ÊÛû,gÀWæy„‰ÕÜȵ°!œ¡ƒuÄN?ÅÛ è$|¹êzpôjÉÔoç|[Þ±øM“Õƒ@=b•åšøcZÜý,Rª¯´7:îFLXrPÏ€Ï[wRaúABWÁpîl—SîØx
+NEù¨bÇ€…ÜÑö6UlÊùœÕ®]Ù¢|Ž¸CE°¬§DCür ߣb¸{§# ’Åp¸Ö›çϲU…ü<ó½”iÍâà6àPAIç×ìL¢´í.;Ñ“£E ñ ‡\%Xp9jûÆ„n[7ðÀû‰åÂÇéá’´«ó{©Æ“@R @ƒß{4ñÃN†ÿÆ)› pCòïTcý°%UK½ÌÖ¬±IÜóæeù/ÙÃts+äòÛÖÔóE…&©0Kr§ßk;Œe”Õp? ¿
+ºûf/&Záì:ôo“7Åá×Ò™ãƒmW6bMú5 ’cû¦²Œ,&jYáC†”ññ†–U!÷À B2Z¨ýóC>moN£¥í[rô(‹¥È\cuݦ×#Ž|k쉌Â!“u#Û,çÀ“žQŒ.ŸÇ7ñL’…q´dJfvšîzB4º+ûŠ¶Éa
+ÈNyë/¸$^ÈæÊð#œ™©ü#J Uâ8éOßb¥1ü_Vü[ÅtUån ·ÊN ÊHìâyûUžL%ïaTF›Cž-²jR‡sEí^F=ž×Þ¬6µ]g‡ÃƒVó€U»¥Ã±~wÓÚÑ †‚‰
+´rf(K‘þdÂEÔ]ü«‰y³0ÞnͦL2#ÃfÃ0ÀÕRh6ÙÍL| F7«y&üuëO‘µµ¡Y²>´lZ¶J^ÌŒx‘Tc%;ëˆ;ZÔ=8õ¿åz–#[˜rªXm¼¹§½ÝV±ÅÁÞnÍÄÈ_ă#;é²úLCÌ„• ›z‡ø[$Õnp¥G¶ÚÓ8h½1
+gËT°{!žèüÍïû¶ê¨lTk4ÒÑQÔ¼8Mgƒ—U®ÏßP¸S8‚Ƶ‘{´¤¦œ³DÒ.˜í¾´è1)(<üA_QìML9™´ˆ&Á%ñç&ª½¶ß9X ?Á怮;›Šé l3¡™É¶LO†åü75 ³éšÈ?HÕ|è¡Ã‘”ùÕlr MÌzÇÑÇ4Ï\ÑXBÀsÅDvtHà ÁÛÚïÌû%íÞ$ô)|ôÂh9 €qÑá¡£…ùÊ@´/U&ª‹ÝpGŒ¶zZ\Y¯ÄÒdSÝ›l0ŒVS‚Ø g1np‚
+¤[Rð®Âµ”;³N§²‹;s”¢„*òOü‘q¼Ú3gù”à[_‚ÊÝݼfCGÑf&cŽüD=\7ižYækI5!~ôåÌp FÕÝœŠ©¨æÑ@Ѥ×ð·ó±*íZœÛý˜÷œÔ–Ѽݖ†›¨|X×°Z
+,1û¸lÂ//‹í[T‰;é nz‚½Î>‚áJÆþkXPkÌÖu ;Q߉1’CôX9D²~{'­hÜ’’¾ªÚÃ
+¥V/-UX¤‰ñ˜FZ½¯2$s¯Å˜KÞo±ºYûrú2r#ãnÊõ¡®aƒøV+ñ«dÁö|Ú~Dîz„íu;Ë$,¯ö"ìx $à«
+ÕGí~™ZØôô+ýhÙݸþJsNÿŽ¾Ì9fÊÞLßêÜE¼¬©®N›urñçmª’ïgçü¨)Á@DXíȘo2C¢·˜ ¯Y¨Ç¼?xàN1—·±þдólSÞn[K^”[ÕVJil®ÙqûL<u³ SÚJ/%XCÐrüÀqojºgnê’3V~;ž(O_¤‚Œœ!BÈD¢-v ¸K–ßü¾!š a~Žä9$4íæ«ÆÕ‰¥Á¾­·û6Bßå{ä}qÍj3Ýâ'_üQ¶!ÖáUêˆÑØÁë¦Ú8;úUßP*KÈÿ¸iËü¶r$Tmtj8«W“\
+¶F#·H»ãñEy$ Œ'ÿÜÓÛvÎÃõ1?Ô>ÈTˆJO‰uúºÒ½þîo!-Ðr\÷]Ë”A'"%³7±ÜFÙÊòØùAð4>ràEç@lUÓ@lÚá0~™rᜦ£u7)>/ (D®õsWÂéØ ºuJ;Ílv9––bBÙÿ³2—Èc^­+)Äô‡U–Á<§-þ°yGh>ª;UÁkξñ‰Ò÷kàQî=‰ß¨0„uqÒþMyë~.ªÎ¶ ý±*n‘"æˆK¦å¹1¿wË4µ†„t©–õmÂyŠE¹æÆì›T¿.*9¾å&í`K~Ø$x÷庆²‚<AcÝËF e]/¼Tìç/6j0lCøVÎVWû|††ßØäÞ·uÃdáß©ba»$n ß¾ ¯kQì $¼{UÓ–¤ïäçyï–ªÏ.< °GÀÆŠ£à`A¶)û´D!!xgc–iD ¯hêÁÛ¾ž díl®½ÅâglZTq_¢Ä Zê7ö4ghh„†L¹yópðË `Qé,uA-:~ÆTðÛ—:ï/´D:ùÏ+CƒŠ.w)l?"톾X0™<o0â¿ ,M«»Aø„¸ÍîYQ$þé]ƒÞ³¼S éÇ …m£)›õѪy ê]·½·‡¦´„ãñ~†@Ož.Hî4ª'eÑY}.ŠÎ‰úÈÚ8Ê|2aâiwöfWu‡3X)a²­*Û.ôÕqa†rræ)$Ù£–!Á¥%ˆ
+aÚ!BÏíÈÜq´„¨„Xn7Í&Ô‚Ä ×„ðGÌš'wƨR@$‚p½*9á,Ršà‰æg +¬òðme*Bï£$š¸Þ~NÔ„X'e¬TÝeAâ †s§k'!1…݆ýìûïÚøéÇî g
+JÎ]]Jì6¡bÿ&®Ý»ñ0õCÜbÎ)µ¶¸2r·^ i\ŒÂ3&ˆT{Œ¸Níi•WGK7¨ÚvqC‹¯DýD¯¤s³*ÚÈ
+&´drÀâ7)“Iÿ&6ŠW½ÁµI_<Ü•ia]‹¿)†¥ à¬P·0±&ú(}¤"~çÆøa+|À\…@MÈÉÞZ4×ï„œˆá€zVô [u#dº¨ë<,qâWHù”$6µ™·Uד™]—šW#!×P
+UaK²­¬áþNq8 Ë7Ù
+L ³p{ò¢8NÉ!’$ú™²§>(¬-‰üž¬GèiÝöÄ?¿ewË0iå1Ÿm>sà†a>h
+‰&Lî@,ê;A%Õ+5`YPr(x,Ùt7C›ôͪ4¦í1jV’XC 4*ã„€‘+O G´ÖO·Bi‚M‹Ù'g]Êë™z ¶ž¨ 7.AU®Vøĉ2\¯xÜ…X ¨™è;Ü éÕãFµY´¢FÖ›_ˆ_]ô›L•ñófß^Ñž|£ŽbÓ¦¹tµY„ÜÆM–bwÙú EŽ’U¿Z”wÈ^Ì–s¤óJ‚ó§eM(+Ýd3y ù| 鸤¼ õ*DÛ¸ ' `¡À‘ }ˆ±Óod•ÚJö5âX^B êlÒŠ ¯«‹lþ­kÏÙ2kD¢øíн:ÏÑÍ—0
+G—d¬®ásÚȈ(„Yú8>è¬=c§±*ƒ
+´*‹Ãr۶Ñ46âÊJ£0DyŽÿY¬þïÃáðfr¿ÒZÍÓE»tµˆm{®—©æ[Ù=òVÁOx
+щ¢³sÕËTW,¦8½^SÖ²:—P{MryB<Õ.#c­aåwi° 9§¼´Ãß<Ÿ’–†84°ž k>xqÛ=BÓd}5J~A´þÃu.†ò˶ŸŠÒ”Õž[ÛMPVB‡_ª™Ø9±%ð€‡ñCÀdXlÄãJ„`¸ò>È·ßUr_}à׶ª|ÊD -Ox îy’«å†¿-E…?Äîhd­-w¤ MÔÐãêp<Æ´òH_ŸlHÿÌ­IªZQ¶‰u×Æ“èyÑQ0ׯŠã´ý¨6ÂbáÏ]šÖ…Dfzú²-‹£Ñ¶í‚ʲ»?U.¿ý¾SúÛ>©ì[X”=t¿ÿ[ì¤uýÜScÒ´#Doñ¸‡–*6•2Ÿe¡'þ(UöЩìapaÕL’îú´“œ›tªó2Ü—2NS rX§é¹Åì«‘£*A>íSžÄÛ­á¸L-O¡7Gˆô^'[KûhIìWæ j±ÌEš-ØÈ׎Š:œä
+56}ƾֱtOSÇ4{Qì•uMzV¹ÔW‘EcÞn{ y<|[_øŽ&8·o3‘AéDfkgyÙkíl/¦ŠY£gnTøJ/H ÝeÿÙø]bxÁ„t~ê7Hjf <S‰`BXׯ­¦p¡#GixW72°Ø§½_»s-åÞÄ}UÁZ“£§”¦í¦÷rϱO £°ÀûËI-ù=’™à¯Ôäßa¥8Œê#Ÿ ”1"iÝš§Ü¿–ê$E™™èsˆÌ~—+”FpϦ˜Îx×IÆø܈—ýDÅÑéLâ†r³ aÂCË’ïdõ-(•êùl¤¾êVHª»i×–;ssçT0j6()q;ÛÁLßÆâdÃßáœSï¾Îè÷øz+¨J¥ ]{½1Ÿaö}GLùT‡Œš³‰B±ëðÛ“5‘¦ð-xT¿# –:Ôñ½Í½^+Ë¥øCé#”ÅË,¶*̯^FmäÿŒPÒërüœe+DÝãÇ哃 ‡½Uíÿ]GäãÓmÒœ¢óÛŠÌw¸,Åöì_KÖ£¢ÃBÿª€4dβ¦,(ñ”ƒþSð@ãzQI§ý‡rúR7·Âp ÅTì:¥&F ‡ªŽÉóÍoïDôjì?ò·kÏŸ™ÓÈÿÀ¯1ɾ“Ñr[јŒ5jØ~†ãÃq˜œÐ¸)YQc—Ìw’Tý”RqfMÈ`L)–#:÷¾ ¨|o8v¯E!ö,‘~Û’¯Ú‘kŸ ý²¯…`U%Ëú†qɬ#–Yc˜Öøä kpdèùü1Õ³AÄ‚?c„´ƒ{/CaTäîûÆy{ª¡ÛT¦²¤zÀã`!à…—ü7m)óA²ºæ•¬N¾±n­/tÀÈiXfŠ.ÍãƒK .Q+Ë>œ—ß³ML¶A\þ9õ†hÓÐÛ=zEBß΢jDyçؼeŽt ù§:˜.A^(í/¢%n)4q­üì_•t'Úœ1ÛΧ‘ØœÎµÊç€?:YCéúýÐ3OÔ¸ç½jéýšß:$µ_¸(H·U¼›3§ïâûíì¢ÂUçDÑR¬ú4@³(Êu—¿µ¹õÅ2¢‘‹dÌxعOAèÁùÆA&…q^Ô^©î°4Rùd֎ƽ‹\3®„"$ïÈ#&Ž«dŸ±p­uñ£vC[ç¶é¤Ï^¾ãÊâ"Y £€/ÞV—ž Yšß~ˆÔ5P=«IÌ&{s¥¥ŒßÛc”ÖνšuÝ8R5鶶5æ®,P|þç±OØ’g’Ò!ÜbVMªÆ‚º°Z&fÆû+5 ^9ô앸}DËõ⤂]L¡ÂŠí„C¥Öj™í„?ã‹ò
+†•Î¬q$*7|³÷•Á‘G€vþ~ØÓʸçaY­
+̉X«_`°‘ÉÝÕ™­PSÛ,<òo «Ë¤òøCésˆÜà^5‚{ãCÄ
+âÖÍÎ8¦‚Âk%1}M<ø ÖüÙI­n¼)½›j-Z ‚‘f3 Âôñ†zÌe;újâÍâ=aОnä
+›…ɤ@¹€ú>ÔäcCŸàœÏ„Fd<WN¦½‹Td®×`‰û¼=»‰Ÿ¿ÑÌè~ ã3
+E²®)¦™B@‹ÔÙ @ó…HÜu-2ÍäfQaO~Q[kPmá?‹1-XSó£/¨„þÌ&Lç=œøT,VδŠb!ñA$û h‡t#XJ!Eø–54 ¯«šô9ßw.÷º¼–óŠ•+øplÄ‹?„å]¯s+Ü-R¨œª*Î ÆšK
+Q
+ý9Z£¤^¤0§jNÙ•íáÕRäÏ*TÃÝ@oðëþ¬ÜTƒÞ™æK ªå²J¥—À¬zvzŸ6Ž¤g’Û¯ž³Û¡ûv¹º½ÀŸüœœ-ùìHiØlàW¹Pc„R_$²z½‚Þî‘o9Ç
+!2ü8ÚÇÍô©zcOÜ*þžÙ€ƒÏ§›Øåâš`éˆ(Ú|S÷Â
+&ø)…Oê¤׉7¬ T$
+¬ÑÁ tZ¶Þ#ò` œ^êaö = ™tK7j#å…“¸Ï!ƒio ®¾EVMEy«t‚°yÅz@tžÔIø_­øÆõ¸Þ.ÔÁ¹ÚÕÒî´÷6Ïkš,òD¼3 ôöÞ®’2ŸP ‰àÎ|O—w6ñ3³¼g†> z?ÍÂÓd»nG¿CNø¢˜nlC|­{‰Ž­Œ´0Í`ÒüTt£ ŸN&«FòhQšÕ™¾ÿp»é¸ã#fÜøÁDI
+Ö 3ÖG¸Ô‰á%ç÷p‰¢É@t#•ÁÏÏm¯?½Ç»Jð·¿×h|c—èä!ƒÜ+}
+í´7Ð;CeµõÝ’EÍo9¶ pwþ¿6ÁoÔO²&kAªv0 /'‰ÈÄBäýº:­4ð{+‰š‹p©ÉÇÑnecÏ°U9%•=x™Æj›Þ5Æ'ñ6Ia‹D†øJã¦ýÏâÔ{ÜÍ„àTwäò\çͦ|¢nô&´´#³H çê¦ïx¸)
+ÙÉÊõ•ùêÉ“a8ŽŸÌ/ÞÓ%£÷.D5qWÎ<fd¼ÖHO¶ðVÐÞ²elîvß$4ªïœ±a‹›–Ô·³âõ6áÜU™ 2¡à`-~b]³ÛðŸÒVë†ôuëýÐç>«r€¤ tü0Îä ª}-«:ƒco0…—2çqW:rÒZ'¨""˜MÆžqôLºõ-ezJq•ì›ÚöŒêNµšßS±†’Ö*?¬Œ¥
+“ 'Ö:/À´úÌîhà –=—›]ʉ‡†ÉÌTÊ0Ü캻‡Î
+âùNx=v-MF³¼*UŽD£4ØM*üH.õGãÉ,Ÿîo2‚õLjãÅ?²Ç¬!éž38óåmC¯ÈIφ"ÃD©ßJ”™½Ð§Ñ‹3i` A4Eh˜T»M²•9…{QG$5½ž1|%‰7u4àüÏ¿5—L„Ò;”üIƒ
+ò¢dMíè‡ÆtU–Ü'ðçF9DAõ<yPšÏSnì\Ù–ãÂÁ­AŒ—IåU¦Ø÷¯›ø
+Ù~çgê‡gÈíÖ1Ås*þì.7Ìï\jjK»¡)‡y’1Æî ÜzeU‹ÞDZvFìèQ‡pbnB™×¹ Öj2’uN–®$ÖvVJ„Ñn´$ð…™A¼Ý½½ÆTlA©3‡äëãð.ÞVQœçû²¢üÃæû)7¥8œ-ÔL̘ôpø¯cÃØðí‚ŒÎ_Þy¤Øµ’/êjÖ+¯Sâi÷ï–ŸÛˆh¾@à3›.Üî+ù­œ›IÅJH m¨h*ºÁBÌt[Z¶Q\»žl¨öÚé%Fï+c 8$ÎÄøaZ¶Oyæy¾¾t”b{>vzTŽv‘¨¬æ&÷’4þôÕ3òd«@õ~##ÔÚž¼³]l\ߎã“öðùOõs.+‰`˜7(8š5ü´ ”“Û oæ\‡7ÍŽê)ߦ‚ß(µ®óyƒQ/ü@ì—Õ.+cÓò®âî³î<¨“-]í—¬ï×ÜÒˆ±Ô5ÔL!À´'ë¸ ŒFDºU°s_ÌmZ@OjEÁ7Oti‚F©ÀƒÕCžÔ_ôøøŸ/µ~o¯cYÀ\¬+&
+¢5|Ÿ'¦E¦ëžÒX3 Ú˜p‡uÊÞ!lLáÞÈ$`•šÑ]’B\¤›Cz–›?a©¦Uã
+^˜ˆÆLy¢ÞÎôÁB°û"©-Ær€ªî§'òOõ5.´±„]PÅhʧR§Rn&†xIÔõ] ÷éÌÂã9áʼ5 KkoòöI¤á@Òf#Ý™–ÈïdðÜ ËpNÖ^»$QaÈ?Áw„r f¢OðüZ¹®¬€p¹©¥fq‘×Ñ
+:±„W í ðEFªžßø@í9®¦—ôXJÛ/.•é$'Òñ<^6Ø•ý›¦Z:FŒ¦øü86Ê~?YƒZycàªÞ’ʤãŽçæé~s²ßGŠ`‡µNÇd£úÝhýœ¶QwÄ¥uý‚‹?´ÛŽMh¾‘a¦‡VW°øyÌjVµ3ÅÇ9¦06ÉÓM•ßĬƒÚp¼sN=Ø[>{¸»®8KIѯ·P|¦@ÁT™G’2Ëü#\<g”“…t±‚û5ûo‰]­¤‘Ãœ8Z$ÆÐÁ…øý[2ˆ^õF¦…áb¥¶ÆvŽÕ\?_Âœ²jÛÅÜÝï«…îPâñ6{"3ó’³bÊbÄÖgÚ [”kCnLL2gJ‚ÿÙRÄu KìÄ48"È‚±Ú+ú£nrxI\\TbvUɲX‘ä©W ƒÈg“Íí{é[o}#§ïÈI¢wXµ?N.ð;KÙ=›µ>_u* ŸS>¬Zר7—JÝŽH7Ú# 3‚ÞfùAP²ÂO·¨ò Jjõ~|´œîƒ f%Ž»¯BùX‰²‹j—þ®5 }ÌŒˆ] .±â”À#_$¢÷óÒ=Çh¯ß…GÇòzqâ"Öñ±×!˜7Áи±£Ï?Wß2<¸5T¥©µj?’®Fw$=Jª\"uÉàyP.rŸ6³dOÄé‘Ê
+Ê ÐZJgb2ñ³õ_¯9 ]w5.#°ï8“H÷ÿr3 ­©åâ$7µ]^½Á ?¯|DÔŸã:Àô%ù>…xqcðIÙtsº¦¹ë½ìs¨ãƒÿüIŸtŸêE•/³i=‚SÛ+‡N`I²ì¤7"ˆ€>N6n2-_±^=¥!‡J"¼6T_í ;›p³7 i¸"ź„Yj»Ksçý{öõªC‡ÅÐ.é¹#%Ùr7«!*cUk37À%úî\c™xGÒAÆ¿,~g†íJ2K‹þdM~rÌð™l“j¡Ù”Jx'¨:K"jÝ“…Ü- I2rMY¹vï (å¯dæªÅ(ªºŠ]ƒv»´‹G}%ñ&æg#a½U$AP~k«á_ÆRo*Ù)îÊÛgiÝ[?©Î²˜Lî°üÝ —샋´³øåÍjÇŸT<]mäI§•µ¦Ì_®4øÃi%ŒÍ}QÙÐä+æÀ¿¥Qÿc5…½:°† {ê|©ž§©ÔÜZÖJœ©Ø@ýüLØ‚Vaö°m´v—J ‡ÂHxcg¿2¤ásYì‡bŒü¤OY4xÜ{ø “è¸m®LµÈ*ÓUQõãö$óLf+U»˜—öG¾õ®NúDÞ€Æt_ÙÞèj-ù¤D_ŸkÙ ‡Pd?K͇d§ë6MZ¯Õø£!ŠlT9‘²Ê.…‡ÕŽ-\¿óµtTWnÐûBDÄfÙ׌3á9Ì3ý ð1vO+°«~{óÜ}:ƒLs»íOïß{Ù*Ë$‡ƒÂ²v¿Û{öùÜë+K¨NFzgl¢‰‰ªS$ž‰œîwˆcMûÉã}‹'ÊÉž‚»´dÍîµ<¹Þ6Z„Øé@'ðÄ3Îl‡}~®%µüNIŽ2›w#ô$á©Ìp<Ì$J"ÆæÉÉ1_‹ x2Ìq·x<kBÐÓ9ÅÏ«·ͱ8Ô~0†Z-ªÑ·2kÅš˜f®bï) wøêLàJ²VE‰V7Æ×¹»hoyóTýžE<±ß@½áx’%¼ˆWF;­s¾ºR¬¥ŒÚÐÏuf›|Gf£Í4´ïÆ2ôÂh\´F½14Bð"3e·bÙä}OZúeE}ÐcØ:.ô´ãD]“‘,J׉ Tý§Ô“óåÚBÕu¡È×:Ò ^¾åC©þ¨Îºî.ûjéCèÜ·F‰OÁ5œ†°‡ 5R¸1¸ Þ÷ó+ëZÄïúlBHÕNîmæ:ùnëÉ7i¼­_ô’ú'»$éð¦&j3€ _Q‹\1‚[½r z/f8-Ø‹\¬}GË!Ô‹ßpȼ/”›÷­eâTSœä×ú–òGןð$˼ß5Ç}Ô>LÃŽ›²ïØd98®¿Ÿ Þ»ÙåØ€Üh™ €fÚa—Ñ̈õäã‹dû¾¦X|C)
+ëÇÝ&™IºûÚ6]G3+&Ý` qÌÍT–Ÿ,²ÞÄ̞Пxkúø.=Š™ƒ{úZ¿®I›Ú*2›ö–´¿›¬¾þs}eÞúžki?àwOÁ"wó¬gŽs¬A
+'ZLŒx¨˜‰ºâ®Ú‹´=°¦Fñ®ƒ.CY”#,(’s´—=ÕÜ>çÃgdÌS
+ñ–Þx™¼ˆé+ÓæÆ°Œô&útðÛ`*‡ ¾C§ëzðˆoNÕW
+ˆµ&Œÿo
+gø[߶FQ£B@¾(–7]Ü»Øè
+Uß°œˆ»
+R¿NΤÁW¡ÜÿÇÅ9ðˆÂ
+s;qêê–ÄïkðVm©ÁŒÿD†yyX+%Ït ðônœms>ƒÊô©¦“ÎGG43• ­=5}–Å0:;SÂ{«*­ð D÷^²qëëæÃFuÁˆ‰™……÷cžÖÚ:$
+g8p±-Ý=l9ã_eÓï 5€†štw÷Ò”d‹u;ð¬XR r¥4ËH` ЉßßuFàûj_acFÞO°ÍÅà€žvÛ©?h̯#™šÆrÝ6 ¹ŠøÙ*½Fö0ýõ½¡V?KJ± B Y˜i/åÐïµõÀÆ:fËõÞ÷„¡è>porôÄH»BWÊžb;mv˽ô$ òäŽMZ\‘íýŒã‹1gºAAÇB3cÓQ¹Y%Ñg®Z¿CÝŸÀOG6¢WšÊí…,ûÅ1Z܃n#\›¤Ú°åbv!`ó3¼{ò"Î4ŒÌÍ?‘¨ !°‰0ò=n^M¡HчÝ/}t%œ^ë©£‚3«ŽúhÿŸš›)ìô`QGŽÓŒBÏZÀÎ|lšRKu¨FÆÿ þ“NtÏ¥(±Úâ«Eø¾½W ­P›
+ÉóF®ñ›”W†ë8ÎúCnø÷Ÿ¿”ú!\²VÞœ4ÂÅ IÆ8/™•îW¤°†{7Haéô¿o4oDd7‡ /?ȨGÎRÐì ”% H}ifíÚë¿–„Où¼F}ﹿ¶]~·y œ‡.èß?§2¸Æµâ¸‹wࣉ×Õ˜•ÄZ—`_•*ÀÒÔ
+óÑÉ>¡4byGE]
+Á²aúôû²íöÂú8%µóÊÏŸ49Ëûիݺ3L‹o5$X‹â=iïú
+@ˆÝ—C-ñ$ȉž6 ÓWÎ~)þ;MN¸bêÐNS}~ð½1SÎÆÐŠÄ N@=†fgÇv²¯| ®Ó>xP¢¢È’szFµtèú]Òï¾R]~
+ÝøÃéñŒÜ¥3Õž ¢¾d!î–«›§’›_‡Øò­G§¼Ë†>™­w-»ø› ùTÔíúÒþ+óo~ ïjFI
+ØõDßÊ‘åñ¸ÑäÆâ<zT§~°xTù\¿Mn’åÅÈàÜ;¾‰UE¾ô  ßŒR]Ìœ£Ã4¦Y;Ä;>ïå(™ÝܦA•ØÚwf§0‚–<*žsñ¢uïÍü÷ÕÊ|íïúÎ¥ŒÚÍb‡[ñ4Ìõ³º0ax[Ëál‘XÄæ>÷öƒfâ·¾=)y÷gå&šÊ„?Š]’Σ¯U/"å·™P¶,Ðò!Àd­·Ï¶ÍxI.ûÙ*$uõ̃1¿÷_Ðð¦Éþzάë,—$Êz7pƒTˆ-õ.ìð(×±þqƾu™^Ã:缕ÞÇî‚o$°J(ºÏ ’=‚Äx™ÃtPÄý&*L‰Å)â PrmÇ‚\: Ž‹ Ñ»T€˜å½Ìq» ÔË' Ç5}Fc3«+A. 
+T6Næ'„Ë´/‚jáÆ#IÔ¦ç÷Œ%Ï.]CNW öUtKƹ—Œ»S=zÌV$ñ¨ÉDÿgÞÆéRŒjs<ýv[Kè'B¸¤§ÈòÞâ'k—áòoŸ—î?ÇÏÜçã{D36`#UæÊh¶+¸h°½ihÈP¦’-(0£ÒtL-W¶¨k›‹úŸ|Ä\s˜ÎÐ6”I¿EÂCí/Ü Žåxg&Ôº½à¬Ó¯ötõi ù0Å,<UÍeGA)†Ó/eô‹„ű)ªzÝ­;s­žt̘2‚k¸p'IŽŠHÐL—:îDCéëÈ}·ÔüÛ*ÓÉKIþôúg °h“YÕ«j±‹ÆÆW%œ8*³Ôý¶ÅNÒ$ò¸ñõðiÍ—âšFÄÚêXˆi%;WåÄl'Ü
+¤àûóQVÉy†¸É|yî>W½cöæôdŠ¥å„OFŠ=tzƒlz
+³E8þO"š'¹^’Ïç:©ÏÏqTÞȤÝ*Êj yd’kžzñnmI„£Ž Jð'ÉðÃ9R›8e(!ÓŽõ-bç¥ßSˆÊÕÃ*£=ƒ3g1Ø^gœZhŒW#þß"JæÜfRH~¡K=‘.ˆêvE‹K°¸˜Wu׳¡s›0# N‘ÑÀD/ºîl”€PL¢¦ªU\R'gî‡Ég7Ž7´lö8ùý›5!
+¬稑ç"Ö;-×*6­M«ÍjŸŒCˆ°#™ðBqü6ñ¤­¹3åBˆ7 JfY/\œŸ?윺ñé\P¨‚K<_XÒ v•ì‹ò¸”‡;ãx~Ñ$Cèx\·™û6.ôgÖAÌ g
+󫌯 Ë]Â3Û” ôXÜ—}Ž?r•Çê׿Ád„nØïɃ4ëý7¹5ÛÜáWL%¿öý^Ø&ñ
+ÊÕp§O-æPÚC•Ÿ"Î\)ÐaýlUÄ.“O šîÖµ»P™2³etŽÕ6R¬(ý¸]KÍp?‘°£Z^YT—ˆ,Ápd.2L|ä*Œ­Šcjôr¡$§óØj‘>c#˜ CdʧVŠ8kðm^Í4tŽáx™•ˆ$ÏÍ}óPz<Á„C¼'³ÀÛpŠ}+Ž˜²H¯Ä˜˜I{zÓ†Çpä¥Îsk¡hä
+p¾ûèíx[æÖå¤X[ c×Á5/Âè^% 5#¸øwQ·”MÂ8uû|(3 ¹òáUFØ¿ØAp¾”£Ù¥J—|ës£9 «²ÀcG7s(ò¹gVJjÅÖᨤ¦ý’9ód̻֯eãèK–tJÛnaƒ'Kë]ˆÜaÐêß.5¬Rѯš‡ÓĸÛ?ÑèP`è^¸—!ñÂ%)éô`¶—w·rPlAT'‘@Я„ÍKþµ…¹%ÙøÔ/4¢ôží:MëÛY6ÝJ#3ûÔUÍþóÄÑÉïÚ2¥ƒ*¿o?æŸQ}ó(+Êy/bSTÜÈÞ"íî7ê!¥¹ÌÁ’&ÏuHⵡÜÞYþ8çÏ”úÅZjk m<º ‰…‹ ö8`8ØùÔ/mBûù£:F6!“v{•z üw­ž^xó×üÏV‚H8¬Àn/AXÑ% ?À*M±~4YþtÞBõPd]ü²8-3ØtÄôE¨x]Ÿl¨ÿf-5-Dz!4wzà-÷D€máð‚àL2\â‡áëOFµ¸C»ÐÔPäì”âD¯1j©Èƒ+ú·¶xcô™ˆA*Þáи“ís©&ÿA'/àsFP)Û
+l Ÿç-7#¹™%×>¤_&ò$ú—ÝÚ¯pŽ+ëHêÙlÚ Á>Tz™ÖHë—‹;qê$íÂôö™š-ûô×M0"¸b«&²æï…­›öʧNYŠˆòØC’,M¬¬»{ÐÂŒªÑtËÒÅÇDÑ'p]+!
+!Nïÿµ$ÑMŒ§)þÂiû0˜ÇR9hÃÇÝ}ÔDUËŒ§ú·‘áÏ™¥/‚ aô©«¦‰¸ © *v ò˜°/Ë"£*9‡2C˜XÖáî$ì2GÁ ËÖõͶ[ÑߥÛ½)àÍãõ«RÊ\´ÃÁz‘7ϵ‰J•ÅÖÌV¥Æ‡"©N%çÇJ8œ¾)1¿wvÍbíÕ«’FÈtâÿ1kû·ܽ)$
+*°ØòìTÆÊ¡ÅVã›yª©š›ÞÂÈ;s|jWÎ)‰ÈÅšg9c8±œ ‰WrNmÇz•(f-àžªG®X†úþ׺O5‚ [oNŒî–¤g¹aq¶iêí°øiü>gqÚÝ‹¶ a ök®6äjä5/õ"#†Ó€ìw3¿÷t;Ç·U†c» Ú¹Dä-pa!æÓˆÕ5l.hÄèŠf©#þ«fg 9®Žc65W™Ö…êP£q÷eìtÔBˆß—x¼¹: ]„K2OŒÚ YèÛ~Gr€7U‡`Aw_€ ½™õ*{ÍYJYêOƒ5ÈH±dW€×·è²Sô]Ëž×¹(ß19®PW(]nZÊÔÍžï`ìŒ
+RŠÖÒ™uÎDŸí£€: (l¤f± ¾²Šv[ƒó3Î,¨fÔþÑùh-¡™ía”3Ëä­}=–†ÒŸA:ÜËÇÞÁBÊ­´Zk¼ÿÛò!ÛÏ^¥)K…ÂL2Læ
+—(•A¿PÒxTmò]oEŽ‹ð ¡ÅŒ + ¢Îœ¬†Æj°]kv
+o¾";Ä 5ZžaD@§Å³PR#˦E­lÒ,ºeä]§_òTÕûG+zoŽËMY‰ûõ3€t³B ˜®îð£<0ž÷dãlóTûÆR§r8¿ŸTòH“{sx½…ÛÔ©ê´£Ýõììºÿ^SU½¸å*î|4·‚}°N8SMÓJ³4Tx¾þ}]R´‘—^§rí2boœÐr¼¸òçQßtgg[UÄ2@Eõ˜OZ|tóËögõÀ+¶À Æ^·&⣵É-]ƒ®å!’‰™É„M|AaÖ¯‘³ËÈ%„‘ âõ©Ù!&1wÆÚ\ªŽÆ¦nN‹7º£Ô;ÔñdAè øûSÀ)dxRd>öåL«+\‹R=qÇTnhàãòɲü'HF'Âãóvž4—MïB=¼œÏ”®³e\
+›Í£?B$Äüv±:oFvŠ ¸Ú®šI±LNïrc‘Rÿ zCü°Ô°ïÍ-_*™œÕn&¾Z«Õ™LfÃ|Í&5Ô®%IòK1aã+N ¼¦ieø>žXõ]„ŒÏþë¡„R[ö5ómï‘7$–.鼫m7Guž“Ü»@ñߌŸÁAm ¾'œ Ì…Á‰Žñ&ÆxNõÜF¯#OÉ—šÄÜ`§%k»Ìèä‹‘o+Ã%ô1$+§Eé)Q×âM_P±~Ñ·&›ˆ½U{²+Ù91_0‰…¸<V©O+F­ DøÈçO@ÇlXß{ Àþ¦Ñf5mX“iгOÀÆõn]ß\ý:â •Âögõ—éÁÉn¤l;ŸÌØ ïy’¬Òí]\U¢H{ ?¶ˆêEÍ/®–W« Ò^Ê`¶!a¦GõŠ¸.D3ž’¤39Pž·™éŠÂ«ô¤<!<È0ÁFo¾Ú,ö’ÅåÕoUÍiP´MУ j9 QÉ—6’ÉoÎpC®<^WÐ+"ŠÎÖžCcï&à7bŠXÜEÂüÚ„ÖF À)]Èæ`…ªÙ^O¼FŽv¡Åüôºa,>=%=6|·ar4Ïè#¿oô
+4³.’'Y$L`U½3„4pj îwò¶œ?bñ3`LÞ
+J˜åfÈUc†£x©jÊãˆñKýæãuGÝc.j{o ̘cü’˜*ŸG7åluþàF>ñ¿]&6µš(nÈoóFUIQÇœº-n™±Á=@XûzD‹’–
+À Nwd†\Ÿn=®À¾þ-ƒ¸˜— •`\lªÞbþÀØ4›úxX\ëŒO0å¤Õmñ£$2_J XðW/Ë.pÄã5ºm„)+ŒYòàЕhw¡™HçÚýF•;uóBê¡?ô M¬†*O®«+'=4O:X‚÷qd˜ÅÉœ<Eeõ
+Ð;M¯Ñ®j“€³?d!d'Æù»Qè¿Õ¢Kgc¼Þeš`$#áÛŒò(TrFàÕ­Á úÕD{R»»á¬«þÿV8âÕ{šD‰:Ã/U+=êÔœä<!³³‘,þAÒí·”û€á2Ký&äUê+#~˜A&`=õ»ÍVº¯jž¢g~m \ҧʲ Œ±ÑP*pZÒ×°8þšË°jçåO(ôý”“„Ø“”dxkÞŒ+e6àJ ìÞ¶9Q;™‡|-ž¾«`ŒÆ›²0ZÛñàaòË’ß±Ãó;ž,΂
+̇Ò,^V«7Å£3G«ëB†ÕT~6nÔˆhú:ÿLFتwMh¦xf)ÅÕçç“AI"™SaZÜë?Q«õ›U_–|°{¯ññeÍ­ª–Å›_†ÈªÛG…Ày+öñÄr îõí!µk§Ÿ¥tþîRdLV
+æ©árè¢ÓÕÞ –‹uµ–ù’'ß3ª…ÇØ…NÎJ¤w'ƒ¬µ~ÖNàÙŠÆ/ÛÔïPa²•hí½?!_[£åàµm´ \®ŒcèÖOå.¬Ä­!fÓ’«Ïi@œUp§–5t17Ý!Ä%èËHü“0ý°ËÝÜù2éØã1,‹ ¯u„‰MX8WNWè¾m¤”v8×¢ædÂÂ9“‹CR ín4ENtØŽo¦”°õÎì²WL)Ì©üŸÕÜèç\(@ ¿n–
+ÿ·3"”×æNï½>¨äl›™,‚SÀ ³ÚËc¡èÕøU
+'²C]²*&rlK~üý
+
+»Ã¡róú
+¢y"—¥KiÔë¥\,V³kƒ 2KvÇ™Q©†c†íü1¦º£Þ|˜* fg}1!P^‹8ý«ŸjÒ79K³\+š¨
+<Cê÷rÙÓýŒÛŠÏ I²é!Hßã}‘ßëiqdŒÆ¾@¾öÃæ£Á’2\enm0Êæïš3ð4φÿ8ìñ'w€:.u³B»ÕDîßuu¤€Íwö­&E<ú4ãçvïõ„¶Çðå)zv8ÐjÑpÖȈìöLF:Î̜ƾ9¥l}:AeÅèxéÎE}k[ÈàûпšG8( ØÅ<·¹²Úô£iwSwàÙÚq·«y\ŒáÑèG—¡p‚3ðž`=MÄ)ã:-ÅÚÔ2³~ò×YÛÊq&‰Ç/÷õ~9ëÆ*nˆnƒÞ»ü`†;>k/NM¾Öüà—¿ô(Åhþj”:¾}²xÅo‡mÙY—ž²Ç#ïjp³—Õôà™ZJ»ðfO{qiwÖGs«T|ù9¡Yu*#SŠ“æähçйݳóôS_¸Bî #N0F29 UZÛV¨sÁµ§åæI2˜¤éÔ»k)È-~Qff‰íô¥‰)  á£j
+3œ%W.iSr3ì®(fõ÷TÆÎ3~OoÒ®È)D>Ü|K¶ dOo¦Œ‘q óè¥1^yê˜FGS¾íäÕ¸À)üqN„a·Ãè•V\”Ðê·G©IUH–1©Î
+$÷ŠÚÛ'hDˆ’ :yf­»T×ÐÓB2‰õÙ/k?׿‘$ñNðé$¨Y[…ºKwQÈ;c˜¥æÒH軆Á->ènàíçeî•­k‘ÕÒ KaˆÅIãÂAÚ5íí£½k,~™êiú®t•Åúow©¦ •NQiZ0b³Å›5*êÏþÐ_?1`¼ÔàAT «¤¸Ê"€[0œægƒšlfÞ=­Kbg*°E´¾k‹üåe¦…† TnxÒìHkák,á’‹£>fH_uèTLO£èÊsüz"¶0 ù¸›ÝߤU£jGyÊD¤ÙYâ_»þ½7XºÙž}ÉŠSM ÈÚŽ\éÑÌk¾D£Åüp`v#¼Ç˜*˜r3þ|[8¶²´9cA<sŽ¿ÉÛѤ\øElƒ¥kùÙÐ0‡Œ%Q%½¶_Û¼” A¬lfIKÑŠŽ‹VÑÀ‰ÿ¼…Ã|6feV•éÂÛÁÀf;!Á8~¼Q\É“@s$
+\Ò“™î»zy˜~EîMºZ¹îñãL´®{ûŽ“÷1Q«€§J]1#„¼CÔ !±å^<(…¿-:‘5í÷_Z~‰
+¨ß
+Í*&^mºh¥”p?¬™Ò¼¥?Õ"p!Wp«eyM'‡ËŠÁDw½Í3ÀpÃ*K'ÙyÕjѸe˜,\9íA2Ò7ßBˆÃm/ÛÛž _õÒtÌÞ ¹Â ‘¤UE¿Zÿì¬ä¡ ;òy·u7¦®Ð$Å?y
+.Š#îæWïK]X»¼ÌæºYmãÝ·ð„0Ž
+Sz-™D°‚”¹wäzÎ(qár¯gtê³'·4þÌT÷Z7tx9$Lêd€Z0
+;Ã\'ÁFÝA2ÀàÇ?О³Ï|c¬?S¸³!èo~ãkc<ðƒÀv}¾(~ÛÏ"ývjÒ5‰P/x”4ß¿U £‹jø…Ÿðâýˆ½S3­àD#(¨–}öÑrý±K­Ÿ0ÐŽYŸ"¹òA’ÎÙ¯ögÒ ¨/6TÂ^<¦g%©K
+­`Íü-U"nå•Ë3k¾ê¼«ô±¡h;°šÁ—©Ç«Ÿø‹êµn`ÄÄ¢ žc¼B8Á5 ˜ç¢ÙtÞèh|#¾_oŒ@Ú©8)ÄiøD^–Š74C`»0‡vhäÒÕêìÃÁ%2›+Î÷INÇ€ïý!œ:ÙüÔM$Ró0‰*=$ƒà—Hlâ§Ï¢×$8’ð5XÚT]M…$1¿4 î]LÁEŸ¹ ˆ;ꟴuG|9ª¹P5¸ªšˆ`YW˜ÍN¯6ÊÔr‡ý ´!„½
+þ¾\Üê7ú–-/kΤ[öM÷a)A¥4g{.`pBãu†QÖ z­œld{p•?R³0%‡ÊXBû4…0díí17FpXë«ù$O`ìëa±µ kûŸÃ/2MÅP=4
+ä|–ìYz,¾_c_zGóËÀ
+¯¿Ó,@à[æõ
+ó¥Ê‚[ýð;*Ü®íàúèyw׉JUú-Ž[ ï¡ÅéÍ›¬sš—1Æ×ÈzÀ
+š€Þ:Šœ]HÐT%¦¥À´IaÖÉè1OötÿGõŒ\÷Tì\HŒ¦Ê½×FV ¿^Þ®¤lÇÏKÒ¾¡Ó¦Mö£ ›#Ö¥‡ú¼çoTÎ¥'óz–O}•òOH¾¹$”˜b°†ÑôxJrÓê²6E©ÛóšQEže4å’wy­OV)ƒ–£tþúéËÚïÕkº‡Ú&Û4CèõV‘Í"~Šò ÒÕaíʲW˜²Ãïýö¤ÙJ4Ê™žØŸ_’ìAXΙ­݉F
+l°Fæë™)W¿7äLD¹gÛ±•†ÜÍ  ;p\ÁÁFxº½³µ¦`Ä$e¢ÿ°z©È©vòæ½ÃE!„¸LÝÿB$fzÀûïªÕÞãpÈœKuÐÂTñû¸8é|ЄóFË_Ñ=ØȲj«¢}7Y[Ë|¯Ä86 IHo
+Èö+
+½wä=¸¦+uÝäÙgõ™Qý³ø6ñ·¹“%­h°—+ÆܯYéÆ…ßIŸ)0€Ÿ¨ÊŠV•×§MP3_0&(+Ü–ÈûDE-ŠÀO­—ÐI•xw^â—2ú•Å!>ÕàHD yŠœË\ÀøFizË’¯m¡˜ ¯®òMr*hlÚÙ´k^ˆe+oÉnœŽs)Få¨x#þ—œ°=ñNØT<–lp6ãg¨ñ#ž¶\>ç‚ŒC/³ÈAžz>}xuÂòq:îH,»Á2„à¶IkD4Jus²×Ü)–eÝuYåkÆŽ’ãmr­’;ûïÁ§µY~„Æ×#N|–ÆqW/2Έgê‹CÌ/l s?;)oƒyà-÷6'ùù»ö ê‘ Ißœ‹&v´b‰§ÊñÐÒ)¿šyˆˆrz’V®:~Ñ´ÂÀk†CNcy9ôV¯6æ(QM™ú~qÊêÎ÷Å„žA=T»÷å‘Œñk Ù– §˜–mià×Ðh \HÄÁþ &6c¾lo”1`o¾Ò\ðœ†þP1va w[…¿Íû¸ã\òa™
+ÅtP¶nrcyf/^xz-qáb9‹öE˲èk³XP/,ÖgÞO
+¼!ݘIZx€c9Ç3 1ÂÖfE]5ð·4µ“_Øš?³WA×`9Jûð¾̲ÅLËFKy‹¾ág¬*5—æeñ¯^Ч¾†R¦ Ð÷éµÒzçbøZ$ ÚÐQ`])I®áÚî‚ÕY¿ˆ®:Öº`çUÒ·Â^Ü·é¡Êë!À'%œl–cø;LÕyòu¶r—ày\ƒ»Wé´‚ª[ÀÒ8ÃÈ“Òø? 9/ šcÂCÁ›
+æFŠÛ¶c‹7“œj&GÝïY ÍO¸[ õ<@tœ='O­»vè9rD…;>Å'ã?ô*ßM}ñ­©v¤ðÃáØÈ6U—³ÂÍKïzxµB&³}ðŽÇøHž¥+}:h•×Pêþ¦±ÞœG¢ßnÕÌÁ5x=,—¨
+.qvØ‹Ü õ‡wîp‹’½µÿºX ø"pSV¯7‹n7©ô„·#ÓìHGuïÒ¤«#–°s0
+ùé»pð ™ë‹‰] åuJ<©stm ¶qwŒQ%MÉÐ3DdÓê jÒf>AÉ»*%š*€|ss¶>¸ü]£6ÖäÐ\ïYëòGÖhFÞv¾¥·Ñ逎>ÂÈ/gÉnZ?‹kˆ¨Ãb ª6Úm)lûÂÙþ0½:ÍwG;!H8 Á–ë9äC6>îÏZåû¨L¹´W:ðòõJfPÕÄe$ñqçM c;±]÷[˜‘Ò½à
+j‹×‹rM2°ä÷|…× 1Ò}7c´ÃÚåóíx錑3g9jkDw¥e#Ô0Jí 䊵äX:Šyx™¶ˆH•“X'©9Ò_0ÐË[£{J¤G oâ­<œÜ¹Àdƒâ;qD/Þu€=ì þ¸QéÆ÷Ælbˆbœ™!öÏ0º%¯×S ”%#7+›&¢Œyiaš¡«f«
+¥|>×z‡&êT
+“¾.ð9·ud¨p¼îåÉB£ µù"›7ÑŸ})A}T@ÒQâúãEM·ÁWØtæ xå|öh£©ÿØs!bö÷çÎ=ò9OSX‘ÛRÂÕAM'3™zå‹Óß‚¢¦êŒ²‰ï¨¢hsEú¬v‹Y@v¼àÒ›‹3_OÖ’=N4¶…9-;Æ8¥± qnQ2!¿Éš_¸—µÜ÷;‰'¥)Ar€ÅÑDZ·GC…?“îF0‘¨•Û`ÞB=¤‰M1æÞ®V41Fή®Ÿ'Ó7€4  –lî‹Qç Ý4šìy è%Φ‹ß˜%ŒEñVKûAâÎ*álgÃÂFÍ ù{CŽbÝB›wËt<àÙˆ•ìD‚²0ã½&Ÿ©Åà"#óÐ;Ÿµ¶ZºÂë®a¯¾âðDØ9½ë¿™z„ªûÆü^+¥^í²V7ÖÎøºÞ¦¶üƒv¨‹@MiÃngׯéˆ8ý…¨^/”Œª÷&v¬-7‡øÌ0Å+¾¢ RQ©Ú åyúåo‹;HKgö+8ÈöR"§æ‚µ Þ3¤Ì½ª88Ötnàçu%')²úä©Ú²¨6ŸÓ³{•!›+N¨jøãh0xÿ6õ ÜŒ]c(ph8²«Tâ ´ï9òþ*wà]lyý¨Ð?EÑDMN`tgå0ŽzÓÆཎ6å¨ð­Ü^A个 ß7í#Òq>´flêƈ5ÐZÄG.ï…w7 }ÊÅIb[Q‹æÂq {é$pcSA©^†±_Ÿx‹™·w›qšNÄýÆ”’ìùÂ!ÏÆm5à±…iÞ+úÐ6¤²ã*æ3_¿0 猇ۦlÊ[
+ðÅ
+ÈtøùÙë+²n•èÙ-hkt¨sŽÉí–•Ç@°ä!Ÿ…; ±QùŒ=…ÏMuhÿ‹¬sjÚµì¶mÛ¶mÛ¶íýmÛ¶mÛ¶mÛ¶ûž‡îª{úäeUV2“Œ¹¤ìzõ²¨ÉÞSÏ£ÀÙ+yû½×º¡°¶#apHH–£«ÓԽݯ¼£|ÞÝ2çÔäúÛÌ—Å\ë¬r·<ÐMŠT›ýhfb1ë´o-€Ëµ˜àrn™Ž÷!<lŒíú,0 ¬I>$˜iÍóÖÊé½
+Z2Ó¤+‰m4ž˜÷ 5ïåaGSËúœ?¼À..+›°A àŒµR)С$
+ÄÈ€<ðê’3¤¯)p›6Læ¿)¿T”M#W/…dC](á»~zb-ÙÇ=zdžگ{h˜âdÅxqŒFû& e3t²5°Ú&ÃÊ¢CÛ`üB‚ÌI?ÙƒÝKÖB»}_SÓ/I— E龫
+A#“øœnih'Áí;8^ MÙƒ9ʤãa‡ÌU¡N×áã!&„'ÅÓ3.};X¦fµ¹ùæ¸~æš.òÒ3›¿k¶ÊŒm¯V‰[fá
+¸ï<c°Å ò“­X»d)Ðsø#–ÿ•/G/q:•ûYcÎrÓ?7‰VÛ ú#tvуˆT‡m§+­†®êÇ òk鮇zŸ©µ È_£A©9÷_2÷C&¼Á ¦–.½ §?¿—½¼…ûˆú\%¦1i¯´ñÞ ,»g™ºGósƒnßCY)/᧕Œ`ÑÒ)£–ƒ"hÏ«!¢†ó‹ ¶ë§){æ÷û`p.}\‘µbÈYÝ«¸'ß8-ö†‰vP^Fhٸç,ÎÜœB;ÖÐEoRˆTÚ‰m>y>¼¯úæýæá!²Ø€ìÎœ Œð„¢¥™æAà{w=ò¬¡úŘÑÜ´YÞKî Ž ºK\;c0è˜ç#ÌÖÐKGmƒ¨Š† u
+8éÛ2ÈŸÓOAmpI±®EVÔ†2|F³Ç‹+ÿÂØÑ/o¹ŸÓ>H›KŽmôïÕÃ˱ßêÅŠ"ˆk vàþôm6Ó:.s‘匊.^'šdg¬6à )lóä7O  çÖ54-3:—Q×=KÓY¶¢<¹(ûÒ…ú× <à ¹ÿ¦¹iÄ”=öeô¯Öׯ*þK9éM\9¨ãÃØÿ‚¼««°àUÆCêµ¥©õeº'¦ç9l"úšrs/û5¤ÛJÊ–rÝ‚í;ëµÊh‡çÚ7ÐJ@@´®KÃð™å3å,
+Õʺß-ÃœönÊT~ø ›g‡{žïuÞ×Öð0æyŒ—ÄÅ®ÔÍáö©–gÜzêlšØ° ¶SKŒ…–aöp
+VQØ!êI}ìùÀª†.¬ÔNh/ªEœ¤5²‡1ºÓ¤tt¾¢†^ó|}«Èáøøþ‡éû©—­^ø°´ŠÔë±L¬0R.B$ê m[ÚÄGrŽ,âL_2lu¥[¯Ê¥ˆ€-™9 z“#B5º $þ¬ë’?Ñ^¿ïáývSÍ^Æø”Aæf=ëé^'—¼ gI2ˈêa™Žÿ™'ÎËÀSœ©ÃyxÛ¢çÂ_i¸FœO7èG\ò¤þE!> <mw¡ÚR ç‚j Íí‰ÞIü‹ <ØþüŒêR¿Ñ ˜7E ç«ábq˜L'Æž2öºÒÖìÞ>s xO,Þ2kº‘É1,3ÒœÁ¶S’1úì^÷ µ±iS7¸æg$Ã)øûÄ‹óf®©æ°N¥°È<OWø°5£E¿¥K׳*èJèÂÓ)tÏØmõèÀ|ålw`T>#$xB‚™êSI ÐÛ‘&å/EGùz³æB¹ŸÞñÓôz©!߆?÷¾@å4½JýNI“ó9^dighóÇQ úû_“Ç]Qˆ ­ùóbÇÆ5Úu0=-;%•7ð¼]YbÍ<ËU¸7ଦ÷Fnµ3Wi×ÆÏàâjÁV>¡[T¾FÈÇ”WŸá&øV
+ì³þo5ÙÙç"ñeÊýCüÔ'=B¸ÖžýAÀècÌ"Ö 8ò°õ[¥1oEâ/ù1;¼jì=*èºþâ¢6o:Ï Üwš,Uˆº»³¯Q ÿ5‘7‹:r³G:À)²xX-1‘hYyøŠ](a¢APÌçò/#mjXù1®XùÛ!YèCuëÆ!»§Š m ­œödºG_½áoàg$§:˜cI2ìö8”È8_E)uÊA|J=€ L62ƒ<{ݯ25§[vÜ+ÜœWh·¬ši­Ú ñ˜k‚Ý݈֎÷]~};ÊžÍÌ«c·›+GÍÖšjå”Ù¸çÁº³ÈŽÝ[[}ÿ1y@Œ2IK/¿Î’8-y°Îå\êMkCEc_oÌ‹DJ R>¿âFx3äÑDN÷4üUN<çßË ³g'(S>)W#hqäSüºŒŠX^ ûH=ƒæ¯XZÔ•½wÑo6?|ª@ ߎ’¨Fß„è6¦5–PnŒ m¯°—”Ÿ‹ú4•s´ÀèÝvÇ€PFœIõAóÍ
+‘§¢$‡#õ•ýó›&ž‰mØW`s®²ZIè4’
+. 9˜â&³jÙ·£’óŽß¾Õ´øïƒïJî§;uk|œø^SR½ÊaѶÕy­^ΊսÔúpAîÙ |s¢¬öc‰/*c8ßé —¶ÝäÑqýg?ð-ÏÓw¢ûÑ=©æ­¡™ãÉ HàHYÅÁºdhXÒ Š.Ŝö»ý]—æ\=™ª‹Ä¡;OÜŠžVm•îÎÀSAJº !ÂûS
+uJ0ÿ,§*K™™—«%c§ðL%uÀN2Êþ‰¤ÿ€¢åÜJÅNM´­ÉLÙ‘z­• ½{×àôpš·Fè›Ê­êÕ×~K!à@Ù£06&è}ûZž¥þMË( ”–,¼A–ßµF«Ä¤/ãJÎÐùÛÖr ºdSŒÏäá¬ùú"DáI.“S%ÙL8ŒJ»Ãt×Lj@ö?¦;
+é%˜‘õ°fªõaË–¤I{¥Á ™(4±3ÄT%[ùfFH¦+ÙñXCƒMÍ åXL yn$r
+f¼êF_} “üA9ñE|¼G;Vê€$PKü*»ÍoŽË,‚r‚ùÍÎó™^öœF¬ÉßC†„ãܺ¥»6\e#ä¨vG"D0­C ¤p*Õ¬˜’p臑tóJŒûë ¾š*º_óÔ[C‡{à
+%ɦ]Ù/£aÀL2<bÊõƒâ;|"#|~ŽØN=Çàb…v§¯{ºš Üê7.FE>äþ±] Í@ýäºú¨pÃè‰Xrð0€Ì]›‰d)’òpW—ˆÊß ß'ðºcXª_Þw— ým-º1,$ng#&7p”iK‡üÁ ÿùK§%è• Œ¬ž¾uMœ6)`–HÄ8£• ‡¢C2¾X2ò ”|‹w¼ÉzâXž¿Bƒ¥«ï–4An Ñ€,Ç«iûr'lê$Œ "W(Î"ûÏåY‡^À¿èm©¶1Ÿ1ïk›Ê×6^5ÔÐÀiÊ£CÅ?ˆ/HÙG1„/ØC6TôÙ Ý©
+@
+ƒ?áR~—èmOÖWpJÐFX¥*;"§@µ¹”XÜÒ°Ø Á„ÖÚlÄæÅBäô"ó³
+S»(¬¬"ˆT–c¼‘A£q°´•ÛÅ\VkGKøcA>5¢H©—·}ç±,­[uÜx‡tÙyp‰ñ´ÐÐ?FP)EéÓ
+ÚmÿIícÿD¨Áï°Ì ¶Ù>tü“›r]æm™¬¨½½‰¬÷åºËúìiU®FÅ»ƒ»Ø³”4VÔ( ÷G©|-¡|<Š@’ª§\µB¡ ”ârƒZ¦ug¿Ê“òÁ½ ø\p¡6o"Å&X¼W03‘©°‡þL_Ä·,»¨«ídžú(·¹Ž/)ƒÍÚ½j='³ýs’tÂ?¾q<Ü WÈÀÏíÜÞÖJc‚»øÂ¥ÜÀ[ã³/B.ŒÌlÒ .¬ ˜$ëDÄhÅÉ
+ê(‚¼BÍb¤ó¾ÍúŠya<êK ¹lq1wiV}‰&
+tïr ¨€we¨,hw7“+ dùáòÇÆäTx©"þôZý9Žzv ük‚),"lÔZh
+ЙEÕS+„
+ ÎqÄVÍVÏEìû~«.ñ¶Î$šҸ櫎^ó=Km¬ ¶¼µ Rò«°R°¡¨×81¹ŽFˆ½®c¸î9œ›
+le¬OŒþ£ƒxˆYBÚõ-c\‚d¾ÉÚK
+ Ë–—åñ§ÁÍ:~Ÿ¶¾½i‡Ô˜×2n~w
+:|’ƒ·'¾5DßOSg&›®aÆ€\<ÐSȱ@f—¦$IÿË>B[¿ªq“;¼^€“2ÿÅøw6þ!NßÝ—úŒ<½~+ÊŠuæ€4½‚<í¾ß÷ šaàÉS¹ûu«}zH:¢šÞÇÂ…µƒ8I?ï`t¨üŸóí!@àúÊâ[ §q·®å[³J ºªØr͵7~°ÌÂ)…>>;žê6;w}êÍRiäJÿì˜ ¤Ó…§@Òߢ‘¥ub×|ˆ¥h—Ãr€Ÿw{]ôs™Ë“¼w?8M5®ó*Íõ²âE€ÄéFþ3¦o#µ•³®|§ðCù±Y¥ B6± “{‚ñâ?=À¿Oǹ,Å»Ù>ª¬¢ûw4лloúǪnj#+èÙ*\²°ÞaWËt{M:±ŠÄGHûZ“56SMTKöp¸¤sþuWä¥ôÄè8!‹xµÍ ¤â;7:žl¹q']FŽ¬RÈ·0]EiIŸUû*¤Æ%^ä»ÒÈ’¹ âE˜ßÜÙöLúº×àûd–¥'éXÏﶰ’ϳÆ%lSJ±Œ ¿™lè ƒ¤]9…@9¤H„<‡3©Ü†,Wᩦ}+sºЦQ¸tã(yjÄ 0ƒ+Á{t I-ÿXPtÔ·é­©óRƒ®à%Ià‚'®ÇëÑ×ùüOG´)!ÎÛ„-›ˆËBŸJW,bnWðFÁw…ü”² í-X(S am<¾½ÿ•WW
+Þ »徨@1ôNç3FÉ Oƒszë² ‹±ÜE®ÇæŠ<†RVF•¦À@Àaö:Cµ¡§…wV\옠˜Ÿ]ó6’&½ÝÔ•í8¬*³ãñ ³´e– J™ö¤x=Ü>yW0q½ó ÖöpÝaÙú駠;îJØû¨»Xhy’TƒçlêRéGO€t3?òʘ!‹]i{(ùgègaqwÕ4HÖŸEh¿Iàí31ÍçoJÑãF_|Ö¥.]ýŒâlö 2’?4‘ʈ D Žoµ–¼ÃTq©² Xd‘ÁFnÀq~*òNÿ>kÌm¶Œ%¼‚ŠˆÆ‹Ò‡¨aÃÇ1åض„ʪÐV`¯7Z]pä­YœÍ†Çg?ȃm«ægZ€NÔÛõ®wK˜J<áʧYJŸ†O‚¯¾ 
+~ЦÃ
+{þ“3<†Ž=˜áœ
+X…E{`sòNÛ’*‡Ž,&£fBKpæ樎™ªŽ؇d—m L„ë”WKÁ_›:ð´ù°UÁúÿ`SÊ›òXSh ‹Ù©Š”ðð
+ù!D<<Ð5wj¿¼Ÿ¶ò{ÄMq°\ñìÃãë£Ã§[ššyð@B+uˆ½%øM|l ÃÚî P) ¡št4”y ™LO#왂œöÚ
+^³bgÉMÄZé+W½ ¦ƒÁ‰÷?yi S¢‘µµÌHªG^2«þO?‡kv<H+àŽÞµ&xþ—ÌÀ\2XŠ´ô;Hõò‡¶ÿçkyûÿ<¦-½f4M!ðÜ(6¸ñÕP·nžY.÷sèáoïXó‰ ®õߎXÕ‚xöOª¢U¼Í¨#âLÙÊ”`aÒzDm?¾zLºàò:ÌØN]0Ä!Rþég¯Êè6oÉr-
+Ž g6pvtÖ1<,6–
+T»Ð:lsìË<¶=,Ø…E¹¹Ô\±ûä>7äž²\ŠEÁ¹Ž
+4z8„tEnéZ¯Ö¬êXtHåP²Æ<¾FÕC.³–rÒØLoü"<iK0 ó¼l3l¾lš¶)öÄç®êyHÇjzÆoÛjÞQP*8I±Ž˜/HÇzé\•--aÝ«º YmL§)Âœì\Ųô>ÛÚ­Hwɬª
+ÒyM¡5;ˆæ¤T;y ќEz6Á‡º¤˜[~aææ– @o¿°)aÇÇ`ƒnÎCJ ù¤h_ØÀø:!Ï·»Q P•œæ˜´¬‡¹™6Lièy{å;[oSÔ° ’Ó?qЃub=Ê
+ªkŽBÐÕ¨û‰^wZ9Öög1ÓP…‰#À´ˆò•g›BZ íê ÏᆫÝVÙĦ}sGÿÎfË}šÂy™|òXÄæröÆV†¹>>S_srWkÑæÓžÑwgˆNèßJ*C@I7îo¬äê=ì˜6j ¶jj7`áúµ± göÝîû†L2Û±É#qé@×G àÙ´Qm€¯
+.ã¢:ÂsZ¡ó»rÖ‰U’Ñ'Éöi®àÛÛÈYMlCï—ÌÄ>r^Âó !/ ¨=Œø2¦øi£âÊcàš4u`ÍJ"ù'ìöc¿dí “«¾7 nÐ
+¤¬‹¬ÍèF©]D¬ñ>@¼tv"ÀÏ áªÛäË÷ ÷mù˜›GzuÚ0ãÑe~åýš¢\éÒq.šÙW„óu‚Œ]Œó®Ónïì¶ybè˜Ö•
+yËž”q¾ –7J?–<Ú yO –ªr3§¤ii]Þ™4‹=\*¹ É#5¼~®"èð³ÐK¢œúÓha=ÔÃèÚB ‹usÌçÛbl!¦rK¾~ïB¥¼g»²5´´涑-ïZ=s£ksiÚMùe½¦Õ)j0E–cñ‹ÍdMøétŒ,zÚDÀöd
+[+Ž6U‘ùª‹ÃSw&Qò:vËMè".Ql÷gÿžì›kQö½xeê‹«/®^&ç6
+c"ämm#ÛžÜF‹oµ,5ç—%_7â¦+)&‰Å®ŽëüË#Û•ñý×ÀÃr´ŠŒÒóm(SXJÔÇ
+¡€æÚÎë´Ï“B‰?I˜ƒ3þ¾”‰ºãþ5¢œ=Ü)£¯ò¶•6–Bp㼤­Åð«OPæ\/ì}ê¤ µ8sö&tšNLä\¡ÓÉ RÃ…S;P@1Ô›Ü";ò,6G‹«Îa7P«÷• ­ÍÁè/`Š#õoõ"Wî#`;¡D²ËÇ¡¯êUÐ*È@J 7ÐFÇzÛôb
+ŽµÒÝîöÅ@õWFuÿï­f=ÍÒX/_b*»Ü(x¥ÄÁÈUÇ‘ô|fÛDVfŠv°ñ¿ÎtŽÝà.A[¡QE·\Š°cCMª  Ð:®Ú à©Úv™©+çh܈dŒÍ=Ë\SÊh«.k ‚¸œæ‰…¿Ãìs…2—³–Mꌣ-à\ ³R#׸WŽfÄçe"·¹-ñFÅX %ý·| 1Z™ÃjD ڪȸæ¹é0[Õ.«è¹Âz÷¤ý¼9üó*LL”/îfc€€çµÞϭ逖ٺí!¹Äâf8Úuq½'Ó¥z„ËñÝ µ–ö½#ˆ¿¤>fM\Uug;õ÷JO‚™y8†b9øÄ”§AQÔv}oÞR9aïƒë|µÎƾ|EÓü|
+$QIÃ)ûu-^íê¡‹•YøKƒ¥6m´ÏÝ©ÊÜr½¬ÍKÊ2ÿ~
+£F;ÏbhW¢hTÙßO4m—øQ‹;(Ç~:%Üa¡ô®¶²wD›¬Çþ6ááTTÞUeÆH”ãt+æ.¢CCÉÔÌî5¿K/S¤°
+fŠõ3Ïz;õþŠS Rªéþño¤é›lTéQÂ}L[’Êîãx ]£¤0ì—öH\4Éùó–"6Í
+XJ1¥æ«ÄYòÏÞäÊã PàL§ï/ ¯€øˆµKä*Ûj—ÿpáxtt"VˆLoß‘XG›4 È£xx'…‹c|sh>áäúƒdEÓ*ÊÀÉÜ{èõ5Ò)•±q_],e1 ¿üX`q| ƒÖÿí±¹er“®ç€µ¦8B†!µt‚Ý´×.M½€¡ïcCõoD
+‘plK—d‹9Jïê«´Ih_Œ[!­D™EŒv"lq%o.›ð7ox/­oæ÷ÎlÐã‹šð–l&ÙpFDž6XĽ/
+¥Þ¾ž
+Ã’@Ù=r«Š¶2éµ½€”½­/MÀÏ‚NžƒŠúʾYÔ°ÜJgƒ{oÖ•Z¡‘S®‰Ô¢-vG„áe€Îí÷/k"h±„{¯¬¥Á›éÜA¹œ900Ï
+2…دѢ@×k 5 qkßäõ–ábØœ{&FÂDlïN€ˆ÷Ai •Qâ‘Š<‰>K·±„<÷§x™*„~"ÖŠ®™·•!rŠ]÷ȤÓ\P/Mæ­Î\?ñúûe
+ÖU»ñQ ¡7PÍnƒ”‚ºÚì
+«Y<K×›‰Ã$Pž•Äg«3HÑp·ð³L„œm2òÕvý":nýÎ$añž±˜môNÆqdx@ïä‡Ý|¡”Â5Þ¯Åo1„ÇV ꌥö„é_-<t~m8»ô
+ÛÈÆI%m,_U8yãl¯Y=®V6
+ÚÌ1•A ¦j·Ô²T2g×Ï[®J«'p,ž„~K€Ü¿Ï­l1óeLŽ½õmZž+ÕÚç“ÄK‰áŒ,(Šêy°öîk6bPFäl¶|iª6à©y
+¹ÕP_êÉ
+2¤h¨•òAy3_
+ }XÚûI‹Q©‚çªGX8fÓ­öÕ.´ç{Pã¾K7&4ú&1‰K{z¼÷­LûÃV#{Ž&Üö8#*$”ñ# ĸß÷ãu»d[¸–Œ;úîš¿ãßü¿¾È]ÖNÙ蔢ó»ù{`ÿƒ#³QÚjÚ¼_Bæ“|ü¿ðw·Âo{ó!ëÑv~önR÷& »^ÔQ<¼E­V•òQÎi‡k"Á…MnÛÇîH­¶ýéë¹q«V…K¤åòeº'r€Ü!FCV­ƒž™ÒÔþžr ˜p•tÒ'Yñ8¸­c%PMd¿ú©úÏ
+áä¤=gˆ ³“|P«3ëlx³íÉ®Ó
+Ê÷ íÑ1:a…+粉T½oŠÎr¶D¸kÀyŠ<m Ò}m²üdq`@b ³9~=ç¿Fœ½>ŸÓÿ÷d"îsHÄŸI .;ï(%qòwæ»}˜[±uî²ÑKÃZEšwÚ ùµ$r¢RajÝîá<眸³³€&‚‹£´×Õ¹q†4¼,Žì'“Ðü3j•·š´Ù¢ô,ôˆ{ÜÔé}Zij‰˜¥MÆb8ÆO+Öo“Ë h$íšnÇÑ„á£D
+ã”NÄ¢ºL·1'Àî È.Ía·á×M­¬.GW
+¡¹Ú$ `‰—\w°[`}mBÀjîCø‹ –[¬ÞÔ)ö(ê'2®(×Q ¬aJ 8†|7ÂE&Lšvj”诬HB?Ok«¥`@«¨\æ°
+P Ï+Wès,žÔ"ÓõÛj[
+€Ò°ûkè(*³¸Å¤ÌU%¨ûwíéaZ2$on¸wèö–2 U}0 Zôjƒ "•'7L‹£®‘qà$Ìðî3­¡aèR$óèé—¸œ×;iR ["XÀjÝóÀÆFX 0-Ù ƒ¼nÜRŒ
+Žú¥ ))!š5Ř{gjýÅV"Ä<{h¬ Y_‘TÂvÅ<±EL °N®‹ï«Ô—ªá´‹W´uXÂÿô]£ŽÛÓ¤O’õ#}ÞÊ1ÁüyŒ(ÑŒ–¡)Ö?Åߦ“g\ÏÜ*£úB%ªŒç|ž½ÃgçÛj+èÏPSA €jÒ@ºß.ò’>(9ñeÊÛ¬ŸjPo‘·”Ý –‚ÂgÇméc3ƒ‰ÉõEOzKŠá p0Þû&˜ã¦©ÇŠEC<ÖcæÅq“9\½t?½³Ôø·öãž¾¸óÒIŠ#FyDû§6°úqz7ßù¬}=ß@Ç.r)ÏÝÅ$½s"OI®
+hoÓ=HF=d¾Ø†ƒ±I1C¥Òdéã ½WþNÃŽÁØ5‰Ò« DÌ%×±Úž#×£‰„äÆðÞ#’W(†6
+t³€9m]÷&ˆÈ“®Ž¢¿µ~¯ ß7¶n*xx»n¥|·B«lº©ÑšÃñ Ø|Õ@@Vk>û
+PÙðâÞç “„¹ªfò÷áÌ9àܵÃ!.MO¼(=bý†¿Û ;áL]eá ¦é„™ˆîb¿œ‡Y»VÅqñ°ú'îWï¢Ô3´‘JÁ†@ d$Q‡^•§ —BËÞCµ±mÀý°ï7èsÁ]_N{5تá[ •oý…þ÷Kº'_3vP8ä0¾‡Ï¼k·Ö¯Ø*ÈÁ‹gì~HÉÎcÚ%‚¿Ïd!œ´VÌçj­‡Žìj÷1@Kʺ0ùqA`“.Hl‚‚™ûØ°px@ ]‚ö±9Óè×ÖøÈÒ†@Üz}è!|TÅ eÐÖ‘´ ;îúíþ†Ÿö“oƒq%L¥iþüôÏz Å‚F„ÜÚm/ñ´š`òþÌJvumÅoH‚¶Ž“'»kæ¸Í»4ë¦E€^
+R׳S./vÒª)Šÿ¥3Gy&9
+ÆŽ‡ §í#E;êÅÙEª¤z%Ï-ç=°çÛü¿°y:Él©Ù¤ñhÙ¦qV½MÔh&¨À"¨Ýh¹ÜÙNº~{~ˆ úO%
+Åp 5Â掂֯6¤Yû©è ¢ÚF-Ý
+cº,a@98ú+†"~fú
+yejõ=æšg<’ól“Ô™s¥Ðþ¦;¡
+604óφS%„=rÚج.P
+jÃÄ®PK¬•ñ–VÜ#·“éÅY4ÿ¨\Ñ
+­³B’*× FƒY £Äæ¹[¢ù‘â#÷«Ÿ¶[õ+ºˆ£¢^pùäÀ¶s”J’ŽD0ÿÂæZ¶…Û¤ùe/Õ óÅ?Õ„xå··ˆ½>5oä¶x Ê}³+õß+õðâ9@Óëƒb,4Cd³ü‡0¢Ïg0¶ƒÖSØHHBG*ó·<›ÆÜÍãŽÊ‘yb¢§ÕrWIt=e-ÀOôF€bh@bÊu` ³€`……þ¹Âïþ1YVÎÑU.~æºÜþ®ÐvìêˆmŠ‚Xwøi¼ -E/%~
+]4%Úø 3¸»š
+«KöïŠ'x<eIÚC”vs„Êù5åñëšçz&Y«£:E±’¯äN1*2P2­õK!&véq¤ÿMUB)æÊŽv=ê³ß”–Ö¼â8øʉۧ|Ïy}(Ú¶÷éþ"ÇpØ-a<8dÖ¨SÔv<yº¯‰Ðp±¤ùj‹uufÝ.Ò¤méPŽÚËDjOÊ=rϰߨ´Z$ð“˜wÞò‚, „0y²d^bñhlM]ˆ´`6•=¸;›hÛúä¿Y
+gês´²ã@ÔÄ#Êd>Á°*¢ZšÍ¥{ü}³¸`à“C¾#­Ý ¶:Su€›˜›tw´øÜ» müý!kÁqȪÙ0[šº<´ÀsÛ€ÝÀ
+=öJøPsË…|‚+'TÝÕb€¯ÑÒ¨ †oŽÁ>œä{ªð&û-ó“ÍÜ"Và+ګ·ƒ™HÎ
+HX`:ªÄ;G¼½ñ#ÚÙ7 ªåÚNó-›?õý¸á6­rg3!eþ—±µÁÖ3±'ÇŽ £øtùÀ>KvGâ[c¾.„÷1ç»
+-äPÇú·V)wwÈ@ñ y§Û€é‘y ›R ç}JÍB:™DII›BKFæÈ¢ç©çu_›Ôʘzkž°çÂýý¢Nÿ½Š×—ÄËHËj°þlÁµ(Œ"xÝq7"‰Îù¤Äê´4þœ¶ÍéPÞä9zcv¬íó‹ÌØ¿2ܽF1ÖÚB,"—¬üÁYŸÂ2m¶‡Qý…oW9Qô"E yú ë`+û69 65ø7Ê–”¼Ð 0¥ ,ÞÌ)àËãý.[êµvAxÏb—NˆŠ‘ò™ª[Û_ûTg ZíÆšºXKKg·H›Þ¬Ë¨Ò¹Éu*mzrj‘´²:È’ë)Pÿ}μVÛ
+ŠtíxØE“YäZ¡WÂvWx™>’éN·nˆß¬}B݆tº"Ͼ¾ šYP$†ÝN‹èÆR˜L5’÷[Q2&­,g>mú²äu„7¹»¯ÙdŸEýúŸ¡
+N1§zd¨2ÞC/Ž[*gÙÒ™-g3afµ"ÏOz‡üG"ÊiÒ$„pÕ·Ïaß꧶À1r0 t=iûBÑ÷&SPfX">œt¿"¼]ƒŸJ2kÍ‘ê)Òe° G ¤Æ^'BsÂjjÉïg6¨w†¢ó@·O(ñͅC Q\Àñã爅—p³ÃF:âT|eŠáí²|oƒ!jPØ´ùX‚{æ™Á¨Á\‹üÍK“ãžîŒ³1/è%Qõ ê+)ò}ÎßVnή…ÕàCH*'5ˆHxy«lËÞDÐõÃàñÈLÆ ôAãPB.ÚøÚx§˜|zFGEÆ\(/ÁDDLƒ¨z%vêëošôòµrQ_š+
+3cvNS'ž2Ã×]9`ú/C1öëŽk î3¸Žöš4’K+îÍ4ã<<Of«;¹Ê."ý„èY ´âIÙIs´œSs†,L}`p¡¡˜¥‡
+!Ãî‡ù§²@¹Ú3lëMLJOž>Q¦‚JÍAä‘mñP‡«*Áê+ ÊÜJ!|E…•R5‡íª ñLŽùϬäÍA1=¯rvjOå!êé9øÿ¹–rw±C 2
+"¶å%³Ìæ
+#ÎRqIÓR…ÒsŸ9eî&è3 íða‰jD‰*õ†tr_yùFÒ”ÔEë‹]bT1öÀúVflÉò½(—¨µÉä:¹dÃ7µ´©€¢‘æ=Œ³Õ„ç8 µ%˜/a¥Ædi <–…ö¤¾”>dÕ¨Õnó/ŸDcÔűñå™ÝE~¸‹“b—‘¹«À'ôEõjÁضäà&` iÒÁ €‡hè°4
+ËT› )¸“tPü:¼Þ·Ô xÊ4Ý6E‘Âé‹áIh¡%_é€Ù WÖ‚Ü$RV ¹Vh×û—ÒÓ©VC7êÆF¶²J=y0Ž…á+YÒ >æl^–B#¶jV[ÛH°è^K¼´‰ë¶[×Ûx§a&;AcL§{9©µ¡—‘ êla]¬\DúQ,†ì^ßÂü7öóéáˆïΠæ§uMT¸KøúÔ¯¬™­J­W†Ò €æ¾æpQ•X4øÜ׸iÉêz—‡z¢¦×æzýÌßÐIÏœZFIø£Ä—FN›±ÑxîäV #?ZjÓ%F,§5®ây+ø·Ãj^­ ‚YªdÎì^¦
+¼l¹iä¿~‹™Ößr•šð
+¹ÅŽŽCWŽW[QƒÂ¯ì^• ß´±V
+Zâ(+‘>,áê™ wLw÷³•*û¦+-uBoWæE·¤£÷U×­ë·¹&Ó  meÍš5Ø­Ó¶<˜ÌN}y°¿¥ð—•MûLЙ)ÏàœÆ™ê‰Ø2ÎßÆØFо1êüð›Èɶæ|Ì\åi¸-ã úî[Š}ÿÐ6”±"[Ì{Ä
+içjs |t”“˜Gò PÐy÷i3í‚:SÖÛlxÀ ŸÜ›wcAÞk˜ÏÕú}
+c\åCZØâ&r1¬:ûRâdóq—òGè)Þ…J(«mæèím)ð.iÆý¦Ô¹à1°å\µX‡±Ù…1+^ü[Ä'ìdk¢aºðäëoöÕr„ø™â"Ò.Hž$Bø¶fmz)ØÆž& W!–b²ËÔÇUG*ûRÅKN€l.-Ìú*IÝêø¡ñ䀰 >¾°dQÖg»HŽùCÇ–…e´X®œâþò±e;ŠNlØwÙla}Ã@ö6D+i‘ó>éÂ_PX'Aç‰r" )ž¾Ú¾¹.=•;×ÀþõܲX~o€ ï,Š×‡Q} yµ¶”€[Iû~ªü•qdó%5¨š#»3K(.ÌŽaü÷+h‹<Gtn™lGaÿHúED‰¹™l¡™can ¿$1@`lJš¯9Ž˜çÙ$Ó?¥Ûêî 4d”8ÈËkÈâþSþÔ²jHìò[Œ„ÐÅÇ8iî·2ò»éû–@€¢å…}¹~Ä!TË'6pA9†dâõÑ ÖsDÞ¥nÍŸ_:aÅÊÂ|Ñú)ƒÌ
+<µQƒI´zyiâ3¬ä:]ytF[ a¦ ´î%
+[›ÁÀ^´ÙºÜðL\i%È»²ã6•ýL¡ŽRôá§NÜãUAt{ÔW†f5€Q)TàÙÄy^ˆcÆK]摋ΉK4îÖrÀ\¾5柭¥(SÁ#œÕ=Ï—ƒFµ¨ô©Ûâ*þsçÚ‘lڄãh$¬Ý_¾˜¯Kç²ý‡¸Yµ¦ègë[üÙæ„Š«lPF½ýæͿ¼qv_e^ªÃ"²Ý™ÛgØûo]i þb;ê+˜¯!b ˆ½GJñó<Dü €P±<FSØmÏTøË{É3ýbÉXÿË’8äu•sˆÃc¨’Æ<V|§€to‰Ëõ¶rĺ"½Q zƒ!,ïee§Q|Ü^
+wÇGGªK³â‰.#¶àûÅ«Zñj2øìó…ó®ÅŸßì‚)‚{5°Zi5+`üP¹!“c…äGuìoÕ!HOÓ5­uU‰i-W¼/o˾ȀGÆ^If-5ÑBÞ83!Õ«ä²*—r¡ï³æ7ü´ÔšÈ—¸­"ø ýîü"úF¾‹Î©ÿñÛ¯<}¹p•£‚oe§‘ÄК
+¾c.AmC›ˆþÚ¿*¾:¨²´ã¶+tMoãÎa4gcÈL÷Üg‚ùúË5õ¹%³!L
+êŠÂÊ-Æaþú¿ ù—ÄILTœ±.¾Qc<Oôçp I¬Ê~•h#ðù^Pän‰à­Kbu“¿ 3®2ÙÈDĩʾN&±/ZGFûáQ#~6õ` ¸yØì"æÝÂuhŸx´W¢¢ø½<¨Gnó%JÁÍ„®;²ì}lV’´@°haLOËÛlàUÎ Ã-Ž}Î(ä…ž²/dØûÅ"ˆ-öÄ‹ñd_Q
+Un8R®JRÍùƒÖ`WÚ_ʸа¤Ü(ÂŽ)‹h/ñ͹€²’~yϼcf‹ EŸY•†ËÓ2Û‡Uÿ4?©›¶ç.*¼¶
+H4ÂÉ(»X ~­Hú§UÓùÓ‚Zí&PV Œ”6ˆ#ýn0?‚þ‹b¨”Û psSøpôÁ·Ð<P Ï<fJöM
+Þ1`­Ø
+´ìžî+VvCHÆÌnÈ,Øá5g*%–|âZÕVw=”Øû©>ßH¢¦”7:
+Ý=`ùa%0K»×ŒDÿdŠ‹û¤…Žüª)÷¤º5oF¨Áƒ»"TµŠØdf=<ªx}{±»§ŸSCñw?aϯgÎv£^›À˜s=™®j…[Bt’_…¨.jI€MgµÐ×#å7c¢’f2bèã}äBYa¶˜ÿ;‘"u·î×å"Íüæ.êï½UÿÖíð×gyI¸”žÕ„å°ÙxšX½ân9ìè®iGŠÛ5¶¡ÜEQvlQ‚!ã:CMz6S²§›JÓX
+W
+÷cÌ—šÖ´šÒI$Z,qš—ððÂb
+ü(yíw{I6hØa |é)¤0[EÖ›
+agqë=öAÚ.ªíâ1ÂñÊ£õä®!‡q îûN)±wYÀBqSÏC¼7‡fÌ ,™ãyã2NÈiN¯iÃÇ{§B©µƒ‘ž}M•FËŒc"ŠO/óÀ
+
+l}ô™ñ¶Fv¦_"nT¸8³h\2! Ì,(„*P i]ßxØ#çšÛ£)¤ òLÿ8„§‰Ï7,nÉÊež‘`ÅókN¡nÂl
+A—Ï TñŽ—µf8È›¨o‘ËvØ_ [3ˆ¯¦X^Ùƒ[p†·ÒhRê–$>D°üFôû´Žn(˜â¯Su]3 úîTqñ(§´]ÐЉƒ¡¨õ_™¦ûVT@›Çí2m4]X\Þ´—æOî]V`¦ÖƳ²KOcß^“¸'qí#K[x“¸ymóDØ ¡‡öü%ªNz§gxí‡C5g^ ~œáü'¦vǼýÉü¾ÝÙv>9Hß”ÊÈU†WìTœV‡n%ì%•&$Ù¢«bÉŒØ
+à<Q€žCQ:úIžéFÔhº ð?}ïå¥ÎÏØŠÁ„@ÆI™?æÁ4i1M'Kfž¸ ìd§Â¨‡Š¯Øè[ûÂ8+€‡ôÄk:Ô% h“í„.Ÿ¤GSùº“§É~3g¥†˜ø’|àL×å+@AF›»sº°ß Âʇ¨ÏhêG¤ÚKüë±³W"P}¶\B~¸Í‰5pa91³I%$59ö×±X‚X·Ö¾‰Þ¨c™íÌÐCÙó`mÌ<Å´`ê×·ïÒ(˜‡Â¦Ê‘T‰_Îk™·HÎUU|e2þW¾Èì ŒØŒ¡¥«R4|å™6€˜fz.€±D•—'¡k§è‘ÄhÁ)Èr¯Ë¾¯Û-šøŠ^|Ùʱqç“Åchê,™<[
+ÜÎcÑ€ëíºüyû¨ã§8áþ­Å9è.4¦!‰Æ‘yˤä}Ê¿G|ÛãXªj„«n—NI´<m´
+¢Ì£úù L]­¥H¬fBâÅ=˲A怡¥ž¯10ñ­úT¯ÙJ kÊlxâè þc¿ý ìô‚8û*Q"É›·ÆôÎú–ýë¿·” k³îÙÛ”%;ßÛý@]êRnhØ­Ö”›öCà#(n~7¦¾BvvQÈ“ ¯9‰±‚h=1Òq·Ø{É×ó0Ý÷Rá×ó$Ì~šVwú³Äm0öÎlSÍ· ¥ÃÕOiõíêë"fp·¶éÖ»ÆÓ[qS&Æ™N8†ÁIÁ6c6™Åí&™¢¹*tʯ£X@ÅÔÒáÃûoÜÔ6íÉF‰A›¬šknJdÜÚR"õÐ#hŽVO#¾ò/òÅðÌà+H>wU¯{Œ ãºå„U^ô"9•ú”ôÎ K™X`My=?¼húLŠvX2EE7&Ñ¥k # do®e’â¨ø#¥ g—{|”¥‹÷µä…Šßírßí•¥ °×UBc<$%A&rüs@NCÖ\>M†;Â^|TRøå6ŸÝTp—¸¼¦½‡±gª8ãnŒ£À~ð_m…ôkþévP‹9P/ÛñÐFªÆ›äòÍÛ<9{ŽJ««õ¥Ójã%u…½U«´Z¥àÇc¼â8!}{A¤›Òo{à³x‚‹¤‹!8Sà”Ñ‘{ƒ2÷·håH‹$þmꤋÏãÒ‘Òk$¨^pÝß5oZ|Ë¿¼§â 8Ü›Æ0à@eƒ%$Ï ånÀݧ=;Ó1sjS‘l‹Ê êÚÏâ£ò YËmŠÑÊCeÚ«f
+endstream
+endobj
+79 0 obj
+<<
+/Length1 867
+/Length2 20043
+/Length3 0
+/Length 20632
+/Filter /FlateDecode
+>>
+stream
+xÚ|¹pg߶-Ûè8ùŶmÛ¶mÛÛ¶;¶m'Û¶;É×çî}ß»çÕ{µ«Ví9ç˜c®5ö¬µEJ¨ L+hbod*foçBËHÇÀõt²44Qp²§U25wµ1t0Ñ100ÀpL,]
+`ø·KÕÎÄÔÉÆÒÎTÁÞÙÒå_––‘á?c*–ÆÖv¦ÎÎ
+Iz£p_#ˆÂ²Î‰$È›4xňò¥hå¸ä惑¯Ê?4±ÿ's?âP®ù;é$G2Üiø*pl¶LZà’ÖŽµ‚§œÑá\‡!NŸ0è
+Õ'¬^soeüý¯OŸ¢>øã÷Ú\ðŽœæ
+
+èè€âZñ<º˜¯¡a(PúχìÄL=ÍqÒWy“ÜÐLjœµª(dhóhWe­“4òÚ鲺kzà,‡Ïáz’ð(0î%²XÎl¿Sd ž0ë!7ÎÌEfû¾]”¹àý6ff &fŒ h
+#J•çÃoqógŸÎ÷ÎóŠ«®xiåÌø'ínzXç;X—ç¥:×/¦Ü?EX³2Š|æË/yׇ‹™?ØÏ[ù­}åÎÈ?ÁJ€CÍ´ðê*çiò¶ì—ú"¸FÖÒÅš†Ï‘ÎCTD©Àûï˜k#˜Çä‡K¿šÕi *}ø[Ñp©O½ά3$_ZWG‚ª0wõÏK!(*UîäÍiæÌ—åû¹ñWæ`<K…†¦ALÊÞÔ“~Óðî
+tK² öo+/%Ä7¨lHI;¥ Ÿ^Ûº‹ S·HÅï3 ˜Bó+ n^31zŒ“r–Æx0L½K 
+j1ê-d“zFT6ŸE—毵ÞÌQ¶ßš–ÒoÅÀP:¼߸—Vн=$ …Õæ‰l‰¢YëWˆcMpÜæù›\|ôF1ÝMü2œÆ
+v°¸æk—ÁðD@}w›!l€zÎçè1½q$P±ÑL6ì°«C3¨.™H\nÒÒÌ„ürm(~oÂœHòHî…KýóŒ휫“=ŽÎãM{ø 2pŽ¢—×â Ž²$E!èÞ¿4p9s†¼DöÕs?g3š:Ç›áüÃZ€ûñ—ÖÅúóY\ÜpÈ€ïÀWªˆ„€b—Y€&Ì '´0“ÜÒ¶ˆ„,b\ÙÎhHz‰gª:OÛt•Å¸`ò]MîÑ4ÒÚošG6‚ú„š¹ äžžZB` 0ìA¢ø°¹ž"ÓÝcEÙøl蔤~ žYË/yE=lD„„Ò¾@g Eù»Ð§ø~©Ù2»ÎÔ3ÉI'áÏG-+zi'T‹¾(ÁÊÎ xˆ7Ù¼U4“0¬^<>.b¹ÿrPË2OØk"/Îýc)ZΓóå ü ¤Ô±(ÌÔoÑöúHMƒïÏnf<6FðTù’T[8«×$+è(èþS.ðÃÂÆeQÀÆŸ‰eÏïÝz4m>@»ïq©„sSE«éþa‚>‰bËhNÄj¯U-½ÏnS‘!UAAø@FH‡wøTuÝëã Ôˆ`û†™üuÑËA-¾vðQÇ|ÜùúqÒ¼ñû” KÑà >ä³DU¿7âºè}¡ôbñ½~«W©Ì9LÙÒ-XMQƸ¬íÏy [¿£á°¼H`æ&n8§úWŒI"ñRíߨjkÖVÁ_í!]S.g㸌¹Ì\õ…C˜<&ÎÍ°f±#?X9èÕ eö-µ5µzî,Ó¡XiX©a•÷®Ý_½ßJ‹T)b¶¯–În[Ÿ]€r!#ÉGoÙ"Šýÿè|5¯¿•¦¡¢ÞEy•÷"ͪ1+aˆR5;Ž³jY⥎tM½Ì¶]¬…ú_’)({߶K˦_pU“ô!g<™s<FmŽ›¤+Pšøå:<ùgŽibÖ°rº.&ú½Šû”T-ѯc`³+žÂýÝËHÇŠ‚Aõ çÇÞ ,]UråÞjŒZ))ÞŽÛ%_.Óºz3ËÕ„ãox©Nã¸7åv…^0õMD±½Sò½FáÌ÷®§ð–7æ^šD ÌOü ² ;ýú³{¥œ¶Wax§ÝF†µEÀ<Õeè$¹÷M-ëJ]1š Œîbzd]aÕ}«¼É0ý}颮ÖY›EÞ°ìùêìÆSÕ¥>3†Ž¯÷~´uÈ”’ÖÏópÌVè!>èÉ5
+üÑS6
+uékBÄ8t®*Ùe‚¥ådCYâð¤ÞSãq
+Ñ­ü¤õ­‰yc gh[ä”ã>ûçPäÓH'Ív¥¡½ 2î Û˜n@ž¯ÉWwÔ'ÛË9Üü„rû…fògœ,Ô´/Œ3·æÒ¶·³$›G]%®Ú~DÓÆ|Ì  F;ú÷@Š)ÎTx¢33 “H1Ǧû ™m¼Õ ’ø02F)*;b€ÆTí~&Dk7Y0sœRºµ&nÊ5Ôjà󧶃{ó{®í¾^Ç^˜ ‰síâM²æ ËÙoûû|ùÂER½6Ë¿33Xn0w'¥´H5ÆK Œ8®@p‘Íì8GAóÿ¶Á¿o\×æ?z
+*_ÿáU;7Á å¿ñŠq0fMü…H‰T‘mpªVdÚX:Zûíx´œ.¥T ‡ÖáåD9+!© Þ²Êi­§2€RVXDÁ ðÈ\Àyèr±ÿ-ÓhôÖ"XÀn«‚Ö)èœËÊ…~;Xø+U®qÍNuªÏN€÷T´ì\Ðv|ÜŒ ƒÝb2åòCæÞv^‚ð ƒ0©™2Ñ0†]xã(óõ;=ÃÇ÷ŽÝk[:Ü’_hø·K?òk<Á
+ZF¯‹;Nrræ§èúJn±9”aM7ÂYÖÐpFÏlˆRZ~ò.\Þäû Ö¥6ƒ|%þ„:ötÊâ÷³»eâc³—ô Qy{‚î­ÕÌÊfN%kÛ…É]sêdzO…–Wt³lx”Š
+¦OúW‰_[à µS)À*®×í@XT!£ K¿!£›
+m‡o càÅMÏ€¦'a$6¨«léÖHmAŸ7¼.j– 6•Ü».
+=™I$û8_ßžºç?VçxÅÑ’gŒi(tfÙ¾#v4ùL zÒÒl]$'–Kˆ¡UyfrÃ)õ»àò³sª$ðÖž9%qH#ôÜO;< žç2ŒUR=ìÔÚdëPÅYŠWÞŠƒM¤9¡¥ ¯ó Y[ÑùjŸaäÏpK—uôѤa_ÚSBþXBò¤£ÐkË¡9à8žÒœ˜eªXÜ“¤ÕnC-w9z€+9Ј[=bsƹ‹¨ý*ã$µ9y‚½w×jÛ{.š1–8Q‘¤Ü…ãúÀ€~H‰·}•‚̉à´ßK?4î`0qX7RÑŽÎNï 0áo\÷rRmË#h]AU—5á‘Ï@ìØ~FËáïr»q¤€tBBܘ‘ä-óUC6 øùý¥Œ­ªš>ÌÊ&¤
+û!v91ân[GZ~Œó‘Iâ}À݃l0T6øã´ gASX"ç·×y¹-ÇD=L›N?
+®”BFÑ|{Þ¯›Û¬ft!j¨üÜ*Q–ä`{>Mw vº¼o*5‚øëfú»hîNÄ—õcýên>á.»@ÿ…nöçÀÐÂNc}ôùËMªñ uJÂFYxM䶄À›K-^ËÖñ;Uó©ô†NïÅÁêfåzk,m굪/™9r®ÙýJÝ‹…x\<ìð¤~õ$ìøãŽÒ yÿï¨_$ãèûfËAk` áàSC®<î¼k1"níצQÂD‡¸§ d—
+­óÚsŽ`x¢/{t™RÙP²'ê\´Æj„‰†Þ¸—<3èÊÂúh*2&Sâïk Ê UÙ@Ž…Q‚0ô„;ø§Ö1g#û®öÕ«q.½{—­1 å¡r«¼Ʋù7žÑh^PÑ„úæœ4»ß‹Î“ñœìpgÓµÜ1=£Ü,2A{ìôÖz&zo‹pFŸK•[ÇÑ›•Z/c˜Õ¿§’ò—ØæÆçä4È.Þ°¬ß!qËêé|¶ëíÙú>µòÅÝç/[ªm,TáEl¡;å$‡…w5ë>5¥‘x‰¯ëÀÍI\A¹]9Úö–†a‡¬ái`|/7â~p<â“HVóã´+÷pŒs´ÛÿÚ+‘ÞJò¦z©Ö¨´:¤„•äáÅà€‰Ië• ¨ŽÓ ) \ÆîÂ:·¥êwùµ\~…ü~ñ@`üï®(m¢ôjîTe;ªÅ£Z¡ÍKð;Še(ŠXYß…GV0xÜíü¶g”ÈÆñ6B£±@Ô ´OFãµG¸³³Rid–ºù£ùêa¡™ýWìq_?kÅ–™ÝäWN1IõŸVSelî%=”Ét}i•õB8$ª•„ÌÔr*°ßÀLNÁf[È»}îsõ*ï¡1UÓTö³¨¼,û°°¶Œó˜\û¼á@~;ÇØrZÿ)àÞ3ÜØ"ò€Ž€ñkzóRΑvŽgâ°é¾PS4îÊÊh‡âߨk^#ÕƒJW#”3I©r°Ìhb„„VZÞ¨×ÈôyŠZ˜G“๟aCÐï5î
+ðtÚ~@l<Ri6Ñ}!Óho¼"EK2yq²?·M€óÞËÚ¢B9áû$Løã‚$¢Qvù1¼š‚³†_¸Òy[ŒÛé|>쵉j‘O8Öh |òäÁ«¼ŠåeÐONœÍÉÑ/©µ¦‘Ìàá1ÙÛ ÚZ¡IÞ¤¸m'TZC»žÚ0ÀÃödædM퉑ô¬7tÙŽóþ1ˆjG_Æf÷¤"õÂí£þ0ò²¨ò÷SÑ&+ìë2ø¿^z6à’:ŽÉå›4—ÑÒØöÞñÄ`,b¸ŸÛ
+GRcÙĪèµÓ«ÌÈ°=ð­ŸtPƒ¼Ö …¤–vCÙ‹´‡ôöÙž®®?Í¢b>0®˜…kØ”ã¹^ÖÑ/·B5Zy;0µf^’Äq YFZk§¦‘“Iî³'ha1 " ÈHH^ygÖÔò‡óI|@JêygËflºl·'Òd݉ FdNñS3.möÙ%s-÷äóL¼.³zµô®|†´XE˜*÷0L ß$£‹dÈc\榘AC0Å®æfG53ðˆgY¡u ¹×vùµRåq¾0šÅxÚw×.¡øV4Pòa¼4èØ6¼ÐHiq÷»Q¯Þ`µ7 dá±£49PŸn[’tGg¡=2dÖzb©ãÎ3ý·ßÕvçòÆŸ„ìóÎ
+„㚣+~ÑÃÒqÚCÚåX•e/Ý$ôÈsû:9—û^ÌD ™+ëÈôwÚåz¸;}’\{o`.…[ÐDœô8 ÈÎZjLBÏw™…w¯þ\¤¥-9JÚ¤pkA™åv =ÛùËóÇW®¬I÷-ìÜ+2?ÁœYÍ &6âá‡øLp6b׶
+”Zˆ )/±’ qµþ謘I
+¼zl : S¯Š$Œóó›…×µ0M‘ê!HขÀ×V’ŸÕº!Òg1
++9iíHVŸÍùæ`
+àéå3ü®[°Èz‘N_á¹;•@Õ1šFÅïÏñÅÔÒL]zûáoÌ®@ÂþÄÞEÔwk‹Å þJ˜Žªt”—Æ[–%YÅKc1c¡”ª‰€ð¢ÚOÊZß÷qh´'tŸÉĹIÿîê'š.ÚM.{Ó{·zÿsGÑ{:ˆæxcWᔆ݇€±öhGEèpøö'2Áàâ.§iÀ>£áQPužÃÆÚ°äÄBùp´Ò^âãö J¹úro;žZ+ç$ZFƒ‡> äÆp¹›Py ‘2a$tNêAâ«ëWƒÿR½H®SºrRå'6²Ž1%ÒÞÇe\€²áq3S”ã¢à¦æ^ÕHò‚:Omýó:uÃ@o¥yZÖ(ë–ãHPÞ£¿
+óm™›¨ûAæ¢IôéŽb cI±”“vºí¾hŽŸðsQ¯Ø<(øS-Ú <S1>á«JwÄL-ÎùyA¥4n=_¿ú&Ž:ÊODâàRpz ®Ñ„Æäg¦Íd¸Ü9=šÛ^±zE&èC0ù(Š×‡^‹ùåú/Gy“™„JÄyZËdî‚,ý¬¡³³dºpÕæ–ßÉx| Ð"¥Ñ»£vnf½ïÓ&“œ™"sª&ÛÁÚDG[‹}„uAÖÐ^ßDoëȺäI@]œÓ£áŸñz'b¹ÉÊÛ¼„JªtÏw]Ò¢QPŠÝÙïÛ0Z”Ne'g½C©_V»¡éê4~<ÃC°á÷8ôNnüë8~üÊ —k9žÕ]þÓÇ4(©k”GäÀ:–^vúsÝÅ™ÚÈzb›K#¥¬äìIˆ€6¡ƒnñ ©¡{Sr(h1 ×?
+*A¨´'µY&QZo©ÅwÖ¢Q¨„ß㧛U€%Mø ‘$¢f•j}“T#EðǯGZ»÷Ä+ØжoºÅêœÃòY ¢žÃYlˆ’@¢ØE¸ãCZ
+ÄÔDw÷±C@5ºLb>ÀÉ)Ónß®±«<Uq决LÖpr¦w2CJKŸï~:&Ýœ‚r7ô#³G'%h4†‡±'¢`ýHû–îoÞòzX0¦}Úú<Aªî©Yõ!¾éa$n{ÂÕ©ŽP–±n«î<ÖËôf¯ Û”8"f²'sÅ’5,—¶V†È2¾OX1IûLsâžÏÅùbÂð§1?d]fP4m/ôG^a#z£a—ƒ¯d"³çø£¾[¥_ħ¤š\¾Pý®¾ÇS7UŸZlTb‡MÊ­Ç·t¯Dü#öÍ“EI^šqÀØ(ÜT
+}›¼Ñ®cY¡¹“Û
+÷ ê}oUIt‰.zWr7Ÿy^û»Žcúë¢ýÕÖÐ_lGYU¨kÊ—i
+ý‡sÔ0ÆÝ<ý
+„·6.b¥dÌè6¶¸ÚÃCéepf&ت
+qnñ©»mwUG ‘!´ô
+p£®4à‘ËžøFWf]q#Ò<Óô
+Ê ü³QZ‹l¡™ßÝ)F׬ªU¬Êûj_è)⺕?1ù×öƒü„±Á÷V‘„#€ö‰²’ñvïR”MAœ;m軘„!Ì+©êºZYj_Ób9~O»%†}ÌæŸÛÕòŒÒ]øXˆ`=‡^C½Òdÿç¥%P¦ : ˜À†§;í‹Ž”÷&F´íºá2=%ÙŸN_„xÀ{»¨q’¹vð2þºö&¹Ü2³‡Wsɬdœü^©š¿¢nqá]ŸfÈ+RUõ+ßùÉ_>ЙwùHtƒƒÛö3î,Ñ´èrDy^¹±8Õ>±hï×™y‰ù¦Ôù$m4Íu»ÞÇ>(„»b?1´ŸvƼæ¤õ°kÔ¸ ¾U³²ÕHÇßÊÃSüêLÞa`À03ÞCúÙˆAR­žÏ‹ŒÌ6óæÜA±ÒC­ÑÔ÷Ž¨PíÂÆkµlª‡”ƒŠ¼Õá´`Ub#ï‚ù¶Wø``I¡ú,ï!é²`ÊåH#2]ŸLJptR;SáÐÕ¿ ­ú;H˜wYz,ÏR1F™Âʸ –OKÚ²ƒr?uçÀ«m{á­ú‘¹Å•»Ù¢³6'à °·¡hI¾ñštÆWñ£p|KÜþáâÊÍa¤ÆšOa8è[›N+Øc±Þ­VÇ%$6f;èA%RýÊÆ>¿¹8‡½Ü5ìé]'‰’à ´®g˜,ç»Ï“›¶üd\GA>ó&+OXMT‡=à
+õSo²'+.°…Ç/a/Ïþ¥¶Í0Ä-èãÍìÜÒ‚ý\‡_¾Fï …¦ÛÐuÇhƒüB‰vÖÐ-½±ýyٵΊ66ж™r>KzÖ.ywJ²†êÌ.B€Ž…!=•=}s^¦Þã‰H¸¹üSk¿Ü9ö÷ ÑoWL­‘,Ô;qÈH
+øÓ³ttÔ€`»wB%™qöJã–0_\™Ûsš¶Ì_»”ñ•JÏž)x½<mdº4âýÁt›ÿ<YNЧ.»lp?
+L…d[]MF«šß6 ¤ËòâjÀ {þ©X·…kb*¨ÄÈ>¯ûö¾Bt—kgÿ 'G¡4×Û#ìœôµ<Q™3šUô»þ‚¹Ÿö˜šBJÕÇ0×£*Ð oBµú'yfÙ¢R{® ì1UœfS±õ«úÕ
+
+lié'lÈ/˜
+9ß=ø•´Ñb$ž2ŠÎÕ?k=Î8 Øq"E¬Œ¬°—6¾7}Þ¹1+™ !yµl;¹DµO»¯ÈùÈ­q© :©‡ª¥£û燻q!qkÕ1œ:âÇóNØæjˆÄYm/VîV³Ñü>|Úë”'<ÚÈù‰¯(»(Q¤Û94’Ú "¬®5A^IûS„81¤Eô'n˜™^ĶƒHk Ç
+­o·b]˜Ö<øÈüEùxMØl‹{Äñx‰¡ßg—XEZw’³0Š;Óëv]¿ã¨1¼^ÌÛxŨnb€ly‡”¢¾Ïòn©RÍ‹@¢1ÞéA• -Aš¥‘Š&§-¤¢C·u¹ÕÔÊ[nÆÔÏ m_Qü¶ÔÂÀ‹g D˜·N÷ß±XÔ:#Pì~¿V.8ê†FB‰Fñ‚SFi€Ÿ)?èƒÈj'1@ïõ­žøsÞÇoë•Š¬aËuHôƒž< ¹®wAýÈ°Ò”Lû
+ï$¼£Á íRÎIi z)ÂÔ}a6¼¾‘ñÙ×(]Œð놄(Š®ë3ôÿQ ¤e §#áõ§¸J5wV¼ÏkµþXGí5hÜ-îž~•Ydü@gTA_íÀmÌ)ÒÃ#¢:䈶N¤ŒäÌX÷)ƒ~n½wºk /„h}­¯­h®à‹@Ö‚ï~€»•Á£-Ë}Vfå*T¤S9 €®¸6t_ÛÍŒ²"6²lù&g&<E=9µßbn›ÙU^0·Z‘y°ãŸÛà¾:k3 ›ë°Ý£”R. û¬ÏJ–xÿà ‹¹ºÍ¶\‰»{{ ´UZ:HøfVÌÉ=øX — (wÀ,NWj«¡çuôHO6×°¦„Í“Î*­ o;;z¾ÐóÝòåÌ|б±¥ì^øUüþ³§‡{¤‡ÒJ2œ:AÛƒ¬¤¦Àø7&ùñ¨ûX¼Vµ#‹Ÿ®WŒgˆÌƒÍ}Á×+±çi\PbJÖ]ùf9’°±¿Ø:£ðh9’w:7¶Þœ¦Ø#?jÿ¡Õ¶AïìVó : cñk—b3H¤-WðK.è¼—ò®³wá‡Ò…“Gé[HW:_ ®¿w¡ã+¶èF¦«·¹Êõ=¡Úx&“ª'òE‡¢45›OáÀ¸Åçv¤µÊ’â
+ú­-e¿“ÃÚl3 ~ŽEu6¤­ªuu§· hŒèJ[·‰ÒГ™SH ά‹494¡½gO%é†ØsKJËcbíaM,ï&>Uh3‹¥†–çxüõÒ¬ Ĉ*Wô(g77²
+ÞaˆJ¶½ã¸=Û -1•a”Ým@Ôá ÓàÕwÒÂÖc¤bÐ{8€Ì;Ï›Êtå¨ÖSñ̾.žÛ—ëeÄðâϦúFsò¼Zc'eFß…†¹7‹{,“F™cºŒxÔ&½ÀwJg4m<ŒAŸ3㤲žôP¾È‡Jc 'ÔÚzÉ`Ê‘FåÞ©´””˜â#6óéáOçÙŒ¬MÑíݼ¦üˆZl¸üS‰GÊß`â†Ï]–L(Ñ~ºþÛ#T¼ÅGY¯ ifѸËEïÉx{N–#lÙàSºJÜ«@¥Â¶“½\.Uðb¨]ANßAžqJ°ëæøwÅÃk1~ÓCæ|cÐ0Ò+þý |Jä™F 1kßeêã—Ã
+ˆBØp̧–Úñ¤â#U)î}H±S;ÕÕ9_x+»AZ’» hÎ_ûCñkìc÷;ôÏ,t…‘êÚ>{;Ò¦ˆ;Õs0
+´üðª‚ÎËÝW¨AÜ»òúúYªmÄ DW‡ÁK¹¹K¦ˆ Œð#æ¡EMæ¶Q‡±üxJXçWô‚"à›QR4]S$7`/úɆØöí¨û1Ü‘9&‚ü¾rÒìkqwý7šÀæñH54ƒÄ/çuý||ñà¶è½;òœ¹ÇÞk"ñ£þÇ”à7l§0T7eïÂ8;¼K3¶Ìå)¯;ÌNT=Eb¡ \”PLK‹ÃÙ×ö…­%ŸõÒ4} Wªje\žûÞ‘9­òyx‘ºÏ­Ñ–Y_ºÊ.®À÷§'n²gCð:N°ÅSÅ|ƒJµÖèÀY|í,<LÕ¤êB‡Öø¨Ün—D¨ì³Ä œÕƒv«fÁÓ͗•v‡ л7Pf½†”¡ÔT¥¨o=ãQLu­“&Öjb>G_µ
+ªiTaÚ~‹èAMô%„JnrY_hœ ‰c]´–‘öz ܾ‘ìä\™æ^š›ž\Gâÿ¥x²£Žõ¦éÙ$£5EªÜ%»¬z¦!<¾Ä|ý®“ÁB?"ˆ® >™i¦„:öÜü¨¥jðñܸv]=mPÍõsÒKD˜(¯›éE0[7ášç|ðÿü‰a½ÂüÓYO½ë%“ ˆFu‡7ˆs 6|…–±%Y”KÇZØì;×ûBЧã¸PK}æ¾ÅœK{+È*âë™(vB×´š„sÜB^ËÂpÓ«Ü0UÏ YO7ý÷Ù
+zÓâ¢ÃlüŽ™»y?”ã+Ëï®›þÓçà&ÅQXô–?3ªRõÀÉehžœi§ëâöùh¦Œ|à^(¾uVÌà:xK¾¼áèõ‹Ñ!QŸ¿µ’yN ƒ×Û:o˾B1ßlÛoGãCð4I¹\Eží8Éa£uÃZ“æ”l°â†Ʋù
+>¬ ÛàNÚ«Úˆ.0jr ×þö{öq¸nc9(fjÖ¡ª¨jŒ@µêIOTºî¯Ìx ¤»¹"“•<õvþÙ[f— CíL6|òó
+2kÔÿó{áéøÞÈBÒÖz‰‹n
+§˜ú·)Mò0ÅõvˆA‚žÌX³fQ´õPõ‘<ÌNo±§7ÝØ'…~ÔRïº.­è²pm³Ýuý¨gPUÛµ¡@sÈDU„˜™­™Å‘=™›UÛ,O‚}/Õf
+FÍ•}þ¸êØ×
+ÅeJ²[ã¤o4(
+žý}0¡3ví!0r—y†¶°/¥i{C™áRï(±/uEdÈwó01ž’ÏêƲä:L÷)ûšzø‚Š•ƒÙòg¶¿nÈÌ=|¿Š¥hKé×X‰ÅGG% ¥üB¼ô^^õJ¹·ÕrÂkƒßãÇÆdeãþgŸžI_:0ß\HÆÔ8s\òQÊ ¶úWæωU7Ò«tVM—R¨I×8B˜GYÖ jûSE£ø-qƒ5c`çÝ)Ñû3Ùý㥾¬¥«U•dçë¶;gœèrÆa§Áþ£etžÚœé¿¯±Á~¡óíuZ»ãuÊEÏúrøíùaëX¥KŒ“ÓåÓ™]`uflvtHv(Ž‚S:'°$†Ù 9¯ê^4  xí¶ß :¾YÝP‡øÈ,éuŸô2ív1î -ñ½‚@×pç 
+(À‰hfxœOiÆ¢ÿÖìLO?„ãKÃ6ÂƵ8€å°òU-§£Ls,w³Æ]›ÚWµËzo³}>½ÅÔi—YÂP³£MÚ¢júbÓ“/Ëÿ*–!À¼EÑE+Ñù¯kXÁ$]­O.E…L1ǦCb9
+®p"£33MÖ> GÊ6“Ðñž¯üöcqÏ*“Ç|󹶥s,ÕB
+6‚=Ãd ¶Y·ÊÄ2»¦ StOž£&ÒÑ{eîdÿ }º¯q§îdG´8rð°uòÉ’HÓÃÁ[³"0þ*Žq´¯,=D0íXéÝW›´óû_¤V§§?ÊíQ8gµêà#oŸéß ¯<ú*_ ƒBøì5'EöªäÀÁòÀšÜ+Dú%‰Ú‹°ûÒJó8G¾ºê{ËNG}iê
+a›Ží‰» Õ£›#?',+£xäq#ZáXZ°J‚½¿ú˜J›@ÌÕi—v¨ŒYj݈B¢¶p
+
+v~GÍ;ùÓ¨JŠK¥Bç`ðÐÌóìç¬A 0!×iW‘‚Rõ}À iê
+a›Ží‰» Õ£›#?)W9HgíÌ3ã~ïÌÊëXæï\¤ù^³2ùÙȽN—þ[.‹N£TĺuþžÁh§Š-ÝzA‹‚˜à‰ n][4j (˜dù*ªuˆØç.7“zÿk/9j¡pm2I
+v$—“~?×›jE6.‰10VèÄñÈéi!a&ä;#Ñd¢^ uq=æ‡@<¹Pjš ŠƒÛ>,«%ÀQn‹ClþÚîÀ§ +kS¦¦õ&h]˜«ÀFoQ¿²„ r„‹†F¼ôæ
+ñø¢õËäQ¿­6*î>{u!|€¦ûzðbεì›×8º«$†/ºy=³^—Ÿ6QïÏ4 u€[$KªVúß>doH›5=ÿè@¶ˆB<:ÌìƒÛÔ{.ã„ݳÿgôÉ[V_Ú@ëùà—¾)éÃ2ÇK»f´Š4 "ÈøU
+0ÎTà±d@ÙZØû qÁp?è¶@Ë‹‚['™bð ˜ÛI)ÿ¦Ö}²ˆéšÐ ”ˆ2­ $iý?—缿2<Eójˆ›`;¢Ì9`~8Vôã$Zägxq#ãcÅ:2[
+C¶Ð‰¢1Ýßný` ÔjqäÕ–‘ªúÇ%äûnÕÂùM—=°Æ:½ãùèŽP;ضÉ)|QmÂ_X[sPŽš(”\vW¯mm#ù Ùu‰ý"Õ÷+š: sÂua€àByÉͧ
+ 䧸«†…’/¦OòW›`DN©àð Qd aÞ‹’L{u?n‡<Èê(¨óï#Å„k œ½ï0å¥SËßô‹,ä<ÐPã/{ -ã<@«ï0‹D7ùVä,ÐÁKÊ£Ãa›Ey\M,‡Ú]:J^…´ó”k
+9ˆåÞ=ÄëTì:û½¤CßIÈKe}±æô
+ðÖxuÈ@™mâ”-G.‚?ϸöÙøžqª`¼à:"ÍþiîK£Ö³HNå0áš.m§6ŒŒQB‘4Y¿/‹B)‹5pB/è”À”ºpeZ–kŒ=gî8Hq¥/®å®ð|庫4$ŒêU¼øÞtµ
+œÂ
+ ¿ÕP¶YW
+üÎÞs±éxéË^­!¯ dÂG¯šXceªä(9¶±÷uºí¼#@ŽªzG*5®gÎûþãDðGr0ôŒ6/Ä@7L`äkr?úí`ÔÕ,b&î걪rá
+£¾Kìêg-{ož;›¦4-PÑa6³ÌŠº!euõÜx¼™h}, ûpGD¦e'ÜÕ¸r´hæŽc-
+ÏÓŸ AU@E¼‡W¡rÜÉoøS¼¯î[ºç³&Ï£B±â1LŽÚÅDýi6k.FŽxó¢Ø¾k0©#¿}V"å ó¡ ·êŠ
+endstream
+endobj
+87 0 obj
+<<
+/Title(El antiguo sistema de unidades españolas)/Subject(Metrología)/Creator(Noel Merino Hernández \(muxkernel@gmail.com\))/Producer(pdfTeX 3.14159265-2.6-1.40.21 \(TeX Live 2020/Debian\))
+/CreationDate (D:20230607104350-06'00')
+/ModDate (D:20230607104350-06'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) kpathsea version 6.3.2)
+>>
+endobj
+2 0 obj
+<<
+/Type /ObjStm
+/N 76
+/First 616
+/Length 4766
+/Filter /FlateDecode
+>>
+stream
+xÚÅ[Y“·Õ}ç¯èGÏ—ûR•J•ËvbÙ²%;vTz g(‰ñ ©Eò¯ÿι莬Lâ*‚h, \ÜåÜ t·®Te+«+Wél*_YãªP9ªXù”ªTE£ª\%o*‹„Ž?f5ÆÅJ‡JÛ˜+Kg4GÓ.XüUÚ+_9\FÍA+Tª,ÊÉ£ÚSÆ”¨Ï6ÏÆËÉVÒ¨+—+£C®l¨ŒÁdõ„ÙT«@7Ú-wh·)TÒ¸¤*o+㣙9U™ 1?êƒÏ•G9*[y<cy/±Œ)TÊU
+¤;ºn JWC[åf·´§*8ÜÒBB!*ü2þtƒñ`¸‘»*{,"†*G°2&pPZШqefX8 ‡¾Xž3@˜c VxáH†°;p±¸ð
+«gSÀ½†Md­Löif0 Õ`¾\¬K,æ²lÓl"]šM#6%²’S¼ "qŒ1 ÇY2S8Ì>Kìã1lbMÀ¢¨k@˸7ñö }ýPmfþsU?«ê/6Ï7Uý¨za¡wßWõãÕþeõ—¿ yV?ÿðvYÕO¯—³úáf½_®÷;ÜÍŽ³úûåns½=_î¨URódy±Z<ؼ¯^(T³y9Ã
+ ÀÛèmcÂ*ˆwØ I¿A.é¦ùè¡
+æ±*Ôa ˆÀmQr`2%%cxê_“;´EJŒý¢:¨']…cä´.ËAÚhøÃ%ú’öI´}hÔ
+{q2—XÉI"EÒæÜ£FuPîEnz‘c_ÛŠüÆû¸ÍUEµH`K¼“½qêrÏ=³Í·–|t
+F?PŠo¼ïè0›¡1ÒÑ®ÑZ
+<~A|˜xª¡TxPièˆèL+ß ²¡¼ 5AÖ™]®hÒžˆ„p1ÁUGç%<ƒÇ
+æ‰uyÉ liV7ÐëEï‚%ÝÞ7æ<V8â"1±Gîóâ¨Ò^Жlj4 ÍõNúÈ©Ávõ4Aã\3$ãxòDo¢$I=•Srß'ME8Œ’˵Q%·Jú”¹š21y½ƒu‚ÔõåöÅ/Ê\®CÑ…žDñ3¨sä¿ïï ¼—›‡ª.MË4¤Hù!81ˆã5Y›$eí 6É¢&ñø3°Ì3M$ç,Q銑xs›4±«eR0’;*NÄ‚Ãa”¼Îr¯0
+D+¯©¾< –3²’[‰ÍO•x5­óL!qëÈPTL]ð1r¹>6%Šô
+Oä([ Ý
+Ò©îr—½ô5Lj¹Rr׸šz9t'§
+¾3øTO)SJ#@cÏh¹ g+kˆ¶ô¨mCçI‰àÜÔ2—škÛåÇîa
+½F<'ûR·›<ÈñíÉR§ÉyÒ"78„¨'-žÑ
+%×ÅwšP‚Ú›æ ¢E¹ðU‘ë1„ƒq¸ Z€‘ÈÊ—²o“–4†gWúFŽÉUü!^ÒñY#Ð&'ðLüȸ¥+…‰Š`že,ÃOú¸C¿$‡¶EqyŸ-JÃ:b—¨îeNéÉ@2@T>äjÊÁêÆb`üNªTà-C8æK¨:s1@WTqÆÐŒ0O™ÃYîx(¶ Þ±ä|¼FUW“Kp2e…#\Z¹!œ5¹“ù°ÔÖĦF(:9XmøGƒ£ÏkÐɹ
+“Zò¥—A##–ƒ’³´r~ÄQ|LÊzÌÕ$/24!#[Y#ÞR€±É“Ì4*u²N騬Þƒ”Z£á6¢˜£’c˜.—ùT)"⳨8= ßÃ73J0>ªŒj,ês·kâ!EkM%©‘uÉÖ‚0œÊö&rO'nàW`N,"tšQ4e\{çK8|ô%‡F°>l“âë Je¡Óó†~],5¹QšZÜ ­–®”ònòÆzN•†ç£ ’¡÷‘‘Ú¨Ex–Gžíò„ØGNóðŸ¨è©*Û£ƒq•œ÷—c4Ù˜”hˆVI^Ò4Z+}µÉê
+’1<ß$jroõ”¹ãÃŽZïØWõ åh?•3Ê0y\ÐŽÙú=2ܛҟu>±M<{lædOSNK©xŒ0Úr«ºAËžE^ºÊ±q³»&XD,µÆ%Œ‚d‚!÷T2‡ã{P\[›—XêSK-$ÅS =$e‚†)§<®³Œãšq”%ŽK%o *ÊË^â¥%-l ¶{ O£“ýµp?6I/ð„$H›¼€y‹—×
+rŽ9É ªVP£aòÕ»¤ËQ-†}9x8ÇgX–»óíêí~³-Ï´¾Y\¡åÙÏ÷þÇßÿôdµ^mÖO·›{6—èp¹x½«\éù@žÖÝã~ãžå»h<žÐª¼n°;çS»Ã¬~¸xûårõúÍžú6«9!ÛÔ¬þj¿¸\ß_¿¾\²øl¿¼ú‘¯¢ÍꟚ;œEáá›Å–Ê>«¿Zœ_ï—õ÷õ¢>¯/êe½ª¯êu½©·õ®¾>+t=^a¸h‡Ï o[îOÏŸ>~ö`°Ü¯öÇkÀÐáb•,Öäñbc¿Ø{q¼Ú{Ú´ëñÆåÞ¯¿¬Ÿtk]–ůê_ëËfÙoë·Ëíjs!ëß×ïGð¿‡O¿ºÿów?8ðýòõõåb{ Â=rÊ.X=âB0.蛄ó &<¨ÖêÏëÇõ`È_ë¯Á”oêoëo CžÖßA#žÕÏëêëŸÀ¯Å|w^/Jëb·‹v¿Ö¿€ç›ËÍÿWW °ô‚ÝÀWÉJo¡ üÏ¡ñ»ý‡Ë¦r¾_üÒ×\],voêWõ«Õ»¥üõ½¥4ìüjs½•¿ù¨jÜg»8߃óõëú5ÉyS¿ùðöÍr i¯X^òþ É_²|U_1[×kÉVë¥üÍ/–ëÍÕj½€tKE7ƒ”†S®÷«Ë‹6ã(›z#Y™j³–4___-·2Þf8Üf24‘7¿åÓúËå«}¹Ú
+;ý—héŽÝvËwX›ü&(ånÈRN²[½gš+FöõžÃïßl—Ëò?âH©é{Kqtÿ¿7Lã›P~µÚï—rÙ“ËÒðÎÑH×õ5)¹.Ì|W¿cé}ýžÙ‡ú·ú·åv#Ý#Û¿Çv={ü·ûŸÿéɇíjqq«íjD-÷Œ—w‡áÈüÁÒ®±ƒÚ®¾ÁvÓ¯“Úî
+J`ºž@S>\ÞçëóÍÅjý3®^½ZByøvÈ s¾ßØ2|«˜6¯Î¬áaÙàaÞé<Š‘WÒŠ¡óUdû#D-VLfÿycó•Æ½…z£ÌÄöQåíµ¡Á
+*á2ô
+®§*L¨òéG•Cªlì©JSªÂï§êø>cBS8-¾IúÄ÷i$9; É ØäóïÓh‰Ž‘LKRüÃ$lÊÎ øä§D¹ßOÔ‰MÛ„²tJ§ M±¡+š;Щÿ€.}]úôêŽø¥mîéRw \ÿ ¿ôFcϱï@ÃNl-Æ”%uHÙ°4ð:SÕÿcÂxN30Ê^˜ÁN)3‡”ñö_i¿ðZ[]ìÚo\š¯!šðË»äçf =?{´9¿÷l¿ØîÏøÍ+;~öcòK=esÆo^û²=ã7­}Ùñ[U)ï–ôÿǰͬõ׫«Õ~2á°ça݃¶¶ûzϺa±~XJlVø³ÊÆaE8ãw·ººùºN7Ïøµî`¸V¨aE>«œ>>~<ë;uã¡¥ò:~*Ÿ %{ŠqC@ÇÐ)Ñ݇ l“7¯gEUºoIËšR£ýl{²¹XÖ?ì–ß^ï/±ÚÕO–ûÅîÄ”^ß¾]®ï— n'ú,›¹
+endstream
+endobj
+88 0 obj
+<<
+/Type /XRef
+/Index [0 89]
+/Size 89
+/W [1 3 1]
+/Root 86 0 R
+/Info 87 0 R
+/ID [<FCD5FFA0FE0E4A0E3752C3954CE361F8> <FCD5FFA0FE0E4A0E3752C3954CE361F8>]
+/Length 216
+/Filter /FlateDecode
+>>
+stream
+xÚѹN‚Q@á™ûƒ¨€à‚²*‹ˆ
+
+Ö¶Fk+^Äñ,(y*áLóåd’›;Ɉˆü;'ê½þ
+¥àÀøa°
+A©HÄžm¨ôVaXƒ.ô p ×px„;hCîaž ›‡Ø…$¤` •·-…=ØRùlÙl²Vùú°Y. -ÈC
+pE¸‚\Â!A*P…C]eúm¨–~¬êb3«Sua«3žáÆ0Qo’Z^ë}. šRÃ
+endstream
+endobj
+startxref
+221124
+%%EOF
diff --git a/info/spanish/antique-spanish-units/antique-spanish-units.tex b/info/spanish/antique-spanish-units/antique-spanish-units.tex
new file mode 100644
index 0000000000..7bac06d00f
--- /dev/null
+++ b/info/spanish/antique-spanish-units/antique-spanish-units.tex
@@ -0,0 +1,236 @@
+% TIPO DE DOCUMENTO
+
+\documentclass[12pt,letterpaper,twoside,final]{article}
+
+% CODIFICACIÓN DE ENTRADA
+
+\usepackage[utf8]{inputenc}
+
+% CODIFICACIÓN DE LA TIPOGRAFÃA
+
+\usepackage[TS1,T1]{fontenc}
+
+% TIPOGRAFÃA
+
+\usepackage[smallfamily,osf,footnotefigures]{MinionPro}
+\renewcommand{\scdefault}{ssc}
+\usepackage{MyriadPro}
+
+% IDIOMA
+
+\usepackage[spanish,mexico,es-noindentfirst,es-nosectiondot]{babel}
+
+% PÃGINA
+
+\usepackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm,includehead=true,headsep=1.5cm]{geometry}
+
+% MICROTIPOGRAFÃA
+
+\usepackage[config=mt-MinionPro]{microtype}
+
+% ENCABEZADOS
+
+\usepackage{fancyhdr}
+
+% TABLAS
+
+\usepackage{etoolbox}
+\usepackage{booktabs}
+\usepackage[toc,enum,lineno]{tabfigures}
+
+% ENLACES DINÃMICOS
+
+\usepackage[hyperindex=true,final=true,bookmarks=true,bookmarksnumbered=true,
+bookmarksopen=true,breaklinks=true,citecolor=black,colorlinks=true,
+linkcolor=black,urlcolor=black,pdftitle={El antiguo sistema de unidades españolas},pdfsubject={Metrología},pdfauthor={Noel Merino Hernández},pdfkeywords={antiguas unidades españolas metrología},pdfproducer={pdfTeX 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian)},pdfcreator={Noel Merino Hernández (muxkernel@gmail.com)}]{hyperref}
+
+\urlstyle{rm}
+
+\usepackage{hyperxmp}
+\hypersetup{
+pdfcopyright={Este documento se distribuye bajo una licencia Creative Commons Atribución 4.0 Internacional (cc by 4.0). Por lo tanto, eres libre de compartir, copiar y redistribuir el material en cualquier medio o formato. Adaptar, remezclar, transformar y construir a partir del material para cualquier propósito, incluso comercialmente. El licenciante no puede revocar estas libertades en tanto usted siga los términos de la licencia, bajo los siguientes términos: Atribución. Usted debe dar crédito de manera adecuada, brindar un enlace a la licencia, e indicar si se han realizado cambios. Puede hacerlo en cualquier forma razonable, pero no de forma tal que sugiera que usted o su uso tienen el apoyo del licenciante. No hay restricciones adicionales. No puede aplicar términos legales ni medidas tecnológicas que restrinjan legalmente a otras a hacer cualquier uso permitido por la licencia. Avisos: Usted no tiene que cumplir con la licencia para elementos del material en el dominio público o cuando su uso esté permitido por una excepción o limitación aplicable. No se dan garantías. La licencia podría no darle todos los permisos que necesita para el uso que tenga previsto. Por ejemplo, otros derechos como publicidad, privacidad, o derechos morales pueden limitar la forma en que utilice el material.},
+pdflicenseurl={https://creativecommons.org/licenses/by/4.0/deed.es}
+}
+\def\fileversion{1.1}
+\def\filedate{(2023-06-07)}
+\title{El antiguo sistema de unidades españolas\footnote{versión\space\fileversion\space\filedate}}
+\author{Noel Merino Hernández}
+\spanishdatedel
+% DOCUMENTO
+\begin{document}
+\maketitle
+\parindent=5mm
+\parskip=0mm
+\begin{abstract}
+\noindent Este documento muestra el antiguo sistema de unidades empleado por la monarquía hispánica y sus colonias americanas durante los siglos \textsc{xvi-xix} ---usado antes de la adopción del sistema métrico decimal---, y señala la importancia de desarrollar un paquete para \LaTeX{} similar a \textsf{siunitx}. A menos que se indique lo contrario, todos los cuadros han sido transcritos del libro de Héctor Vera, \emph{A peso el kilo. Historia del sistema métrico decimal en México.} Libros del escarabajo, México, 2007, 191 pp. El documento podría ser interesante para historiadores, economistas, metrólogos, entre otros, que deseen tener una referencia y un compendio detallado sobre este antiguo sistema de unidades.
+\end{abstract}
+\thispagestyle{empty}
+\pagestyle{fancy}
+\fancyhf{}
+\fancyhead[CE,CO]{\scshape\small el antiguo sistema de unidades españolas}
+\fancyhead[LE,RO]{\thepage}
+\renewcommand{\headrulewidth}{0.4pt}
+\renewcommand{\listtablename}{Ãndice de cuadros}
+\listoftables
+% CUADRO (UNIDADES DE LONGITUD)
+\renewcommand{\tablename}{Cuadro}
+\begin{table}[h]\label{tab:longitud}
+\centering
+\caption[Unidades de longitud]{Unidades de longitud (pág. 50)}
+\begin{tabular}{@{}lclllrrr@{}}
+\toprule
+{} & medias & tercias & cuartas & sesmas & pulgadas & líneas & puntos \\
+\midrule
+Vara & \texttlf{2} & \texttlf{3} & \texttlf{4} & \texttlf{6} & \texttlf{36} & \texttlf{432} & \texttlf{5184} \\
+Media & \texttlf{1} & \texttlf{1}\slantfrac{1}{2} & \texttlf{2} & \texttlf{3} & \texttlf{18} & \texttlf{216} & \texttlf{2592} \\
+Tercia o pie & {} & \texttlf{1} & \texttlf{1}\slantfrac{1}{3} & \texttlf{2} & \texttlf{12} & \texttlf{144} & \texttlf{1728} \\
+Cuarta o palmo & {} & {} & \texttlf{1} & \texttlf{1}\slantfrac{1}{2} & \texttlf{9} & \texttlf{108} & \texttlf{1296} \\
+Sesma & {} & {} & {} & \texttlf{1} & \texttlf{6} & \texttlf{72} & \texttlf{864} \\
+Pulgada & {} & {} & {} & {} & \texttlf{1} & \texttlf{12} & \texttlf{144} \\
+Línea & {} & {} & {} & {} & {} & \texttlf{1} & \texttlf{12} \\
+Punto & {} & {} & {} & {} & {} & {} & \texttlf{1} \\
+\bottomrule
+\end{tabular}
+\end{table}
+% CUADRO (UNIDADES AGRARIAS)
+\begin{table}[h]\label{tab:agrarias}
+\centering
+\caption[Unidades agrarias]{Unidades agrarias (pág. 55)}
+\begin{tabular}{@{}lrrr@{}}
+\toprule
+{} & largo (varas) & ancho (varas) & área (varas\textsuperscript{\figureversion{lf}2}) \\
+\midrule
+Sitio de ganado mayor & \texttlf{5000} & \texttlf{5000} & \texttlf{25000000} \\
+Criadero de ganado mayor & \texttlf{2500} & \texttlf{2500} & \texttlf{6250000} \\
+Sitio de ganado menor & \texttlf{3333}\slantfrac{1}{3} & \texttlf{3333}\slantfrac{1}{3} & \texttlf{11111111}\slantfrac{1}{9} \\
+Criadero de ganado menor & \texttlf{1666}\slantfrac{2}{3} & \texttlf{1666}\slantfrac{2}{3} & \texttlf{2777777}\slantfrac{7}{9} \\
+Caballería de tierra & \texttlf{1104} & \texttlf{552} & \texttlf{609408} \\
+Media caballería & \texttlf{552} & \texttlf{552} & \texttlf{304704} \\
+Cuarto de caballería o suerte de tierra & \texttlf{552} & \texttlf{276} & \texttlf{152352} \\
+Fanega de sembradura de maíz & \texttlf{276} & \texttlf{184} & \texttlf{50784} \\
+Solar para casa, molino o venta & \texttlf{50} & \texttlf{50} & \texttlf{2500} \\
+Fundo legal para pueblos & \texttlf{1200} & \texttlf{1200} & \texttlf{1440000} \\
+\bottomrule
+\end{tabular}
+\end{table}
+% CUADRO (UNIDADES PARA ÃRIDOS)
+\begin{table}[h]\label{tab:áridos}
+\centering
+\caption[Unidades para áridos]{Unidades para áridos (pág. 59)}
+\begin{tabular}{@{}lcccrrr@{}}
+\toprule
+{} & fanegas & medias & cuartillas & almudes & cuartillos \\
+\midrule
+Carga & \texttlf{2} & \texttlf{4} & \texttlf{8} & \texttlf{24} & \texttlf{96} \\
+Fanega & \texttlf{1} & \texttlf{2} & \texttlf{4} & \texttlf{12} & \texttlf{48} \\
+Media fanega & {} & \texttlf{1} & \texttlf{2} & \texttlf{6} & \texttlf{24} \\
+Cuartilla & {} & {} & \texttlf{1} & \texttlf{3} & \texttlf{12} \\
+Almud & {} & {} & {} & \texttlf{1} & \texttlf{4} \\
+Cuartillo & {} & {} & {} & {} & \texttlf{1} \\
+\bottomrule
+\end{tabular}
+\end{table}
+% CUADRO (UNIDADES PARA LÃQUIDOS)
+\begin{table}[h]\label{tab:líquidos}
+\centering
+\caption[Unidades para líquidos]{Unidades para líquidos (pág. 62)}
+\begin{tabular}{@{}lcrrr@{}}
+\toprule
+{} & barriles & jarras & cuartillos & medios \\
+\midrule
+Pipa & \texttlf{9} & \texttlf{82} & \texttlf{1458} & \texttlf{2916} \\
+Barril & \texttlf{1} & \texttlf{9} & \texttlf{162} & \texttlf{324} \\
+Jarra & {} & \texttlf{1} & \texttlf{18} & \texttlf{36} \\
+Cuartillo & {} & {} & \texttlf{1} & \texttlf{2} \\
+Medio & {} & {} & {} & \texttlf{1} \\
+\bottomrule
+\end{tabular}
+\end{table}
+% CUADRO (UNIDADES HIDRÃULICAS)
+\begin{table}[h]\label{tab:hidráulicas}
+\centering
+\caption[Unidades hidráulicas]{Unidades hidráulicas (pág. 63)}
+\begin{tabular}{@{}lrrrrr@{}}
+\toprule
+{} & surcos & naranjas & reales & dedos & pajas \\
+\midrule
+Buey & \texttlf{48} & \texttlf{144} & \texttlf{1152} & \texttlf{2304} & \texttlf{20736} \\
+Surco & \texttlf{1} & \texttlf{3} & \texttlf{24} & \texttlf{48} & \texttlf{432} \\
+Naranja & {} & \texttlf{1} & \texttlf{8} & \texttlf{16} & \texttlf{144} \\
+Real o limón & {} & {} & \texttlf{1} & \texttlf{2} & \texttlf{18} \\
+Dedo & {} & {} & {} & \texttlf{1} & \texttlf{9} \\
+Paja & {} & {} & {} & {} & \texttlf{1} \\
+\bottomrule
+\end{tabular}
+\end{table}
+% CUADRO (UNIDADES DE PESO)
+\begin{table}[h]\label{tab:peso}
+\centering
+\caption[Unidades de peso]{Unidades de peso (pág. 66)}
+\begin{tabular}{@{}lcrrrr@{}}
+\toprule
+{} & arrobas & libras & onzas & adarmes & granos \\
+\midrule
+Quintal & \texttlf{4} & \texttlf{100} & \texttlf{1600} & \texttlf{25600} & \texttlf{921600} \\
+Arroba & \texttlf{1} & \texttlf{25} & \texttlf{400} & \texttlf{6400} & \texttlf{230400} \\
+Libra & {} & \texttlf{1} & \texttlf{16} & \texttlf{256} & \texttlf{9216} \\
+Onza & {} & {} & \texttlf{1} & \texttlf{16} & \texttlf{576} \\
+Adarme & {} & {} & {} & \texttlf{1} & \texttlf{36} \\
+Grano & {} & {} & {} & {} & \texttlf{1} \\
+\bottomrule
+\end{tabular}
+\end{table}
+% CUADRO (UNIDADES PARA EL ORO)
+% Tables are ``faulty''. We need ``improvement'' these tables. Then we need designed them.
+\begin{table}[h]\label{tab:oro}
+\centering
+\caption[Unidades para el oro (Au)]{Unidades para el oro (pág. 68)}
+\begin{tabular}{@{}lccrrr@{}}
+\toprule
+{} & libras & marcos & castellanos & tomines & granos \\
+\midrule
+Libra & \texttlf{1} & \texttlf{2} & {} & {} & {} \\
+Marco & {} & \texttlf{1} & \texttlf{50} & {} & {} \\
+Castellano & {} & {} & \texttlf{1} & \texttlf{8} & {} \\
+Tomín & {} & {} & {} & \texttlf{1} & \texttlf{12} \\
+Grano & {} & {} & {} & {} & \texttlf{1} \\
+\bottomrule
+\end{tabular}
+\end{table}
+% CUADRO (UNIDADES PARA LA PLATA)
+\begin{table}[h]\label{tab:plata}
+\centering
+\caption[Unidades para la plata (Ag)]{Unidades para la plata (pág. 68)}
+\begin{tabular}{@{}lcccccr@{}}
+\toprule
+{} & libras & marcos & onzas & ochavas & tomines & granos \\
+\midrule
+Libra & \texttlf{1} & \texttlf{2} & {} & {} & {} & {} \\
+Marco & {} & \texttlf{1} & \texttlf{8} & {} & {} & {} \\
+Onza & {} & {} & \texttlf{1} & \texttlf{8} & {} & {} \\
+Ochava & {} & {} & {} & \texttlf{1} & \texttlf{6} & {} \\
+Tomín & {} & {} & {} & {} & \texttlf{1} & \texttlf{12} \\
+Grano & {} & {} & {} & {} & {} & \texttlf{1} \\
+\bottomrule
+\end{tabular}
+\end{table}
+% CUADRO (UNIDADES MEDICINALES)
+\begin{table}[h]\label{tab:medicinales}
+\centering
+\caption[Unidades medicinales]{Unidades medicinales (pág. 68)}
+\begin{tabular}{@{}lcrccccc@{}}
+\toprule
+{} & libras & onzas & dracmas & escrúpulos & óbolos & silicuas & granos \\
+\midrule
+Libra boticaria & \texttlf{1} & \texttlf{12} & {} & {} & {} & {} & {} \\
+Onza & {} & \texttlf{1} & \texttlf{8} & {} & {} & {} & {} \\
+Dracma & {} & {} & \texttlf{1} & \texttlf{3} & {} & {} & {} \\
+Escrúpulo & {} & {} & {} & \texttlf{1} & \texttlf{2} & {} & {} \\
+Óbolo & {} & {} & {} & {} & \texttlf{1} & \texttlf{3} & {} \\
+Silicua & {} & {} & {} & {} & {} & \texttlf{1} & \texttlf{4} \\
+Grano & {} & {} & {} & {} & {} & {} & \texttlf{1} \\
+\bottomrule
+\end{tabular}
+\end{table}
+\end{document}
+
diff --git a/info/spanish/00readme b/info/spanish/tipos/00readme
index 8f3d478e08..8f3d478e08 100644
--- a/info/spanish/00readme
+++ b/info/spanish/tipos/00readme
diff --git a/info/spanish/tipos.pdf b/info/spanish/tipos/tipos.pdf
index cf46ffb0d2..cf46ffb0d2 100644
--- a/info/spanish/tipos.pdf
+++ b/info/spanish/tipos/tipos.pdf
Binary files differ
diff --git a/macros/latex/contrib/examz/README.txt b/macros/latex/contrib/examz/README.txt
new file mode 100644
index 0000000000..4ef05244e0
--- /dev/null
+++ b/macros/latex/contrib/examz/README.txt
@@ -0,0 +1,18 @@
+
+
+----------------------------------------------------------------------
+`examz' --- 2023/06/07 Version 1.0.0
+
+Copyright (C) 2023 by Christopher McClain
+E-mail: christopher.mcclain@mail.wvu.edu
+
+Released under the LaTeX Project Public License v1.3c or later
+See https://www.latex-project.org/lppl.txt
+----------------------------------------------------------------------
+
+The `examz' document class builds on the `exam' document class that
+was developed by Philip S. Hirschhorn. An author may use the class
+exactly as the `exam' class, but there are also additional features.
+The document class facilitates the writing of questions with random
+elements, the creation of multiple versions of an exam, and the use
+of separate files as question banks.
diff --git a/macros/latex/contrib/examz/examz.dtx b/macros/latex/contrib/examz/examz.dtx
new file mode 100644
index 0000000000..fe0eae0ddd
--- /dev/null
+++ b/macros/latex/contrib/examz/examz.dtx
@@ -0,0 +1,1168 @@
+% \iffalse meta-comment
+%
+% `examz' --- 2023/06/07 Version 1.0.0
+%
+% Copyright (C) 2023 by Christopher McClain
+% E-mail: christopher.mcclain@mail.wvu.edu
+% -----------------------------------------
+%
+% This file may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either
+% version 1.3c of this license or (at your option) any later
+% version. The latest version of this license is in:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% and version 1.3 or later is part of all distributions of
+% LaTeX version 2008 or later.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{examz.dtx}
+%</driver>
+%<class>\NeedsTeXFormat{LaTeX2e}
+%<class>\ProvidesClass{examz}
+%<*class>
+ [2023/06/07 v1.0.0 Randomized exams with multiple versions]
+%</class>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[numbered]{hypdoc}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\begin{document}
+ \DocInput{examz.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \changes{v1.0.0}{2023/06/07}{First public release}
+%
+% \GetFileInfo{examz.dtx}
+%
+% \DoNotIndex{\addtocounter,\arabic,\AtBeginDocument,\AtEndDocument,\begin,
+% \BODY,\boolfalse,\booltrue,\chk@incompi,\clearcounterprefix,
+% \Collect@Body,\counterprefix,\CurrentOption,\DeclareOption,
+% \decr@latest@ques,\end,\endcoverpages,\find@latestques,\ifbool,
+% \ifnumequal,\ifnumless,\ifnumodd,\ifrandomizectr,\input,
+% \inputcountersfile,\LoadClass,\newbool,\newcommand,\newcounter,
+% \NewEnviron,\newenvironment,\newpage,\noprintanswers,
+% \norandomizectr,\notbool,\null,\opencountersfile,\parts,
+% \PassOptionsToClass,\printanswers,\ProcessOptions,\question,
+% \questions,\randomizectr,\refto@index,\relax,\renewcommand,
+% \RequirePackage,\savecounter,\setcounter,\setcounterprefix,
+% \setup@point@toks,\space,\subparts,\subsubparts,\thispagestyle,
+% \typein,\typeout,\value,\whileboolexpr,\xpatchcmd,
+% \xrandprovidecounter,\xvalue,\hrulefill,\makebox,\EnterResponse,
+% \NumberOfVersions,\endinput}
+%
+% \title{^^A
+% The \textsf{examz} class\thanks{^^A
+% This file describes version \fileversion, last revised \filedate.^^A
+% }^^A
+% }
+% \author{^^A
+% Christopher McClain\thanks{E-mail: christopher.mcclain@mail.wvu.edu}^^A
+% }
+%
+% \date{Released \filedate}
+%
+% \maketitle
+%
+%\begin{abstract}
+% The \textsf{examz} document class builds on the \textsf{exam} document class
+% that was developed by Philip S. Hirschhorn. An author may use the class
+% exactly as the \textsf{exam} class, but there are also additional features.
+% The document class facilitates the writing of questions with random elements,
+% the creation of multiple versions of an exam, and the use of separate files
+% as question banks.
+%\end{abstract}
+%
+%\tableofcontents
+%
+%\section{Introduction}
+%
+%\subsection{About}
+%
+% Since 1994, Philip Hirschhorn's \textsf{exam} document class has provided
+% authors and educators with a framework for writing exams that is both highly
+% customizable and easy to use. The \textsf{examz} document class loads the
+% \textsf{exam} class and adds some more features. Most of these new features
+% require the \textsf{counterz} package.
+%
+% First of all, the \textsf{examz} class may be loaded with new options that
+% facilitate the use of commands from the \textsf{counterz} package for writing
+% questions with random elements. Second, a new \textsf{versions} environment
+% allows for the creation of multiple versions of an exam in the same document,
+% alternating between exams and solutions, if desired. Third, the command
+% \cs{question} may now be replaced by the command \cs{questionfrombank} which
+% allows for random selection of questions from a user-defined question bank.
+% Finally, a few simple macros make it even easier to modify the customized
+% content in headers, footers, and special pages when creating new exams from
+% previous documents.
+%
+% Some commands in \textsf{exam} have been patched in order to distinctly label
+% the questions in different exam versions and their solutions (so that \LaTeX{}
+% issues no warnings about multiply-defined labels). The optional environment
+% \textsf{coverpages} has also been patched for two-sided documents so that the
+% subsequent odd arabic numerals always appear on the front pages.
+%
+%\subsection{License}
+%
+% Copyright \copyright\ 2023 Christopher McClain. This software may be copied,
+% distributed, and/or modified under the %terms of the
+% \href{https://www.latex-project.org/lppl/}{LaTeX Project Public License},
+% either version 1.3c of this license or any later version.
+%
+%\subsection{Installation}
+%
+% Run \LaTeX{} on examz.ins to generate the file examz.cls, and copy it to
+% your local texmf directory. Run (pdf)\LaTeX{} on examz.dtx to generate the
+% documentation examz.pdf. Typesetting the documentation requires the package
+% \textsf{hypdoc} which is included in \TeX\ distributions and at
+% \href{http://www.ctan.org} {The Comprehensive TeX Archive Network}.
+%
+%\section{User Guide}
+%
+% To use this document class, begin your document with the following line:
+%
+%\begin{verbatim}
+%\documentclass{examz}
+%\end{verbatim}
+%
+% \noindent
+% This document class loads the \textsf{exam} class and admits the options for
+% that class. See the documentation for the \textsf{exam} class for details. The
+% \textsf{examz} class also admits the additional options \textsf{randomize},
+% \textsf{norandomize}, \textsf{prompt}, and \textsf{complete}, all of which are
+% discussed in this guide. This document class requires the \textsf{counterz}
+% package, which is available at \href{http://www.ctan.org}
+% {The Comprehensive TeX Archive Network}.
+%
+% In addition to its parent class \textsf{exam} and the \textsf{counterz}
+% package, the \textsf{examz} class requires the following packages:
+% \textsf{xparse}, \textsf{environ}, \textsf{etoolbox}, and \textsf{makecmds}
+% (the latter two via \textsf{counterz}), all of which are included in most
+% standard \TeX\ distributions and at \href{http://www.ctan.org}{The
+% Comprehensive TeX Archive Network}.
+%
+%\subsection{Randomized Exams}\label{usr:versions}
+%
+% The \textsf{examz} class loads the \textsf{counterz} package which provides
+% commands for generating, saving, recalling, manipulating, and displaying
+% random values for counters. These commands may be incorporated into questions
+% to generate random exams. The process of saving and recalling counters may be
+% explicitly coded in the document, as described in the \textsf{counterz}
+% package documentation, but the \textsf{examz} class may instead be loaded with
+% options to automate this process.
+%
+% Loading the class with the option \textsf{randomize} will execute the commands
+% \cs{randomizectr} and \cs{opencountersfile} from the \textsf{counterz}
+% package. Loading the class with the option \textsf{norandomize} will execute
+% the commands \cs{norandomizectr} and \cs{inputcountersfile}. If neither of
+% these options are loaded, the default behavior is that of the option
+% \textsf{randomize}. The reason for this is that if the document contains no
+% randomly generated counters then this default choice will have no effect
+% anyway, and if the document does contain randomly generated counters then the
+% first typesetting must generate these counter values.
+%
+% A third option \textsf{prompt} frees the user from the burden of manually
+% changing between \textsf{randomize} and \textsf{nonrandomize} and also
+% protects against accidental overwriting of previously generated counter
+% values. This option will execute the command \cs{promptrandomexam}, which
+% is an instance of the command \cs{promptrandomizectr} from the
+% \textsf{counterz} package, followed by one of the commands
+% \cs{opencountersfile} or \cs{inputcountersfile} as appropriate. The terminal
+% dialogue of \cs{promptrandomexam} can be changed with the use of
+% \cs{renewcommand}, if desired. (See Section \ref{imp} for the implementation
+% of \cs{promptrandomexam}.) There are additional effects from this option with
+% regard to the \textsf{versions} environment, described below.
+%
+% \DescribeEnv{versions}
+% The \textsf{versions} environment uses a loop and a counter \textit{version}
+% to generate versions of the exam, incrementing the counter and updating the
+% page numbers along the way. The version number may be displayed in headers or
+% elsewhere with either \cs{theversion} or \cs{arabic}\{version\}. The
+% environment takes an optional argument: the number of desired versions, with
+% 1 being the default value. The environment is used as follows:
+%
+%\begin{verbatim}
+%\begin{versions}[<optional number>]
+% <exam content here>
+%\end{versions}
+%\end{verbatim}
+%
+%\noindent
+% where \textit{exam content} refers to the \textsf{questions} environment (as
+% defined in the \textsf{exam} package), cover pages, and anything else after
+% \cs{begin}\{document\} that is intended to appear in the exam. When the class
+% is randomized with the option \textsf{prompt}, the number provided by the
+% optional argument is not used, and so there is no reason to include it.
+% Instead, a command \cs{promptversions} inputs the number of versions using a
+% terminal dialogue. (The dialogue can be changed by using \cs{renewcommand},
+% if desired. See Section \ref{imp:versions} for the implementation of
+% \cs{promptversions}.) When the exam is not randomized, the number of versions
+% is inputted from the previously generated counters file, and so the prompt
+% does not appear.
+%
+% Recall that the \textsf{examz} class inherits the options \textsf{answers}
+% and \textsf{noanswers} from the \textsf{exam} class. The \textsf{examz} class
+% also has an additional option called \textsf{complete}. When loaded with this
+% option, the document alternately prints without and with solutions. (Note:
+% This feature only takes effect when using the \textsf{versions} environment.)
+% Moreover, when the class is loaded with the option \textsf{twoside} (inherited
+% from its grandparent class \textsf{article}), an extra blank page is inserted
+% at the end of each exam when necessary to ensure that the next exam starts on
+% a front page. An exam that begins with the line
+%
+%\begin{verbatim}
+%\documentclass{11pt,twoside,addpoints,prompt,complete}
+%\end{verbatim}
+%
+%\noindent
+% and uses the \textsf{versions} environment, for example, will ask the user
+% whether to randomize, and if so, how many versions to print. Then the typeset
+% document will include the requested number of versions, alternating between
+% exams and solutions, with correct grade tables and no warnings about
+% multiply-defined labels, and an extra blank page whenever an exam has an odd
+% number of pages.
+%
+%\subsection{Question Banks}\label{usr:banks}
+%
+% Within the \textsf{questions} environment, the \textsf{examz} package offers
+% an alternative to the command \cs{question} that allows for the random
+% selection of a question from a question bank. The command
+% \DescribeMacro{\questionfrombank}
+% \cs{questionfrombank}\oarg{points}\marg{filename} has two arguments, the first
+% of which is optional. The first (optional) argument is the point value of the
+% question, just as with the command \cs{question} from the \textsf{exam} class.
+% The second argument is the name of a \TeX{} file (without the .tex extension).
+% The second argument may include a path. Suppose, for example, that the
+% directory which contains the main exam document \textsf{Test1.tex} also
+% contains a subdirectory named \textsf{Problems} containing the files
+% \textsf{Solve\_Linear\_Equation.tex} and \textsf{State\_Capitals.tex}. Then
+% the code
+%
+%
+%\begin{verbatim}
+%\documentclass{examz}
+%\begin{document}
+%\begin{questions}
+% \questionfrombank{Problems/Solve_Linear_Equation}
+% \questionfrombank{Problems/State_Capitals}
+%\end{questions}
+%\end{document}
+%\end{verbatim}
+%
+%\noindent
+% generates an exam with two questions, one randomly selected from each of the
+% two specified files.
+%
+% When several files are contained in the same directory, the repetition of the
+% \DescribeMacro{\setquestionpath}
+% path name can be reduced by the command \cs{setquestionpath}\marg{path name},
+% as illustrated by the following code:
+%
+%\begin{verbatim}
+%\documentclass{examz}
+%\begin{document}
+% \setquestionpath{Problems/}
+%\begin{questions}
+% \questionfrombank{Solve_Linear_Equation}
+% \questionfrombank{State_Capitals}
+%\end{questions}
+%\end{document}
+%\end{verbatim}
+%
+% \noindent
+% The command \cs{setquestionpath} can be used both inside and outside of the
+% \textsf{questions} environment, and can be used to change the path multiple
+% times, if desired.
+%
+% In order for a file to function as a question bank, it must conform to a
+% specific (but very simple) structure. First of all, every question bank file
+% begins with a command \cs{setnumberofquestions}\marg{number}. Second, all of
+% \DescribeMacro{\setnumberofquestions}
+% the questions are contained within a \textsf{questionbank} environment. Third,
+% each individual question is contained within a \textsf{qbitem} environment.
+% This structure is exhibited by the following code, which could be the entire
+% contents of a file \textsf{State\_Capitals.tex} inputted by the command \cs{questionfrombank}:
+%
+%\begin{verbatim}
+%\setnumberofquestions{2}
+%\begin{questionbank}
+%\begin{qbitem}{1}
+% What is the capital of Maine?
+%\end{qbitem}
+%\begin{qbitem}{2}
+% What is the capital of Nebraska?
+%\end{qbitem}
+%\end{questionbank}
+%\end{verbatim}
+%
+% \DescribeEnv{questionbank}
+% The \textsf{questionbank} environment randomly generates an integer between 1
+% and the number specified in the preceding command \cs{setnumberofquestions}.
+% Each instance of the environment \textsf{qbitem}\marg{item number} compares
+% \DescribeEnv{qbitem}
+% its numerical argument \meta{item number} to this randomly generated number
+% and executes the environment's body of content only if the numbers match. Then
+% the \textsf{questionbank} environment ends input so that nothing in the file
+% after that environment will be included. Note that neither environment
+% includes within its body the \cs{question} command; that command is already
+% part of the command \cs{questionfrombank} which inputs the file. Also note
+% that \cs{questionfrombank} sets the counter prefix to include the file name
+% and exam version number, so authors should use the prefix versions of counters
+% commands (e.g. \cs{xprovidecounter}, \cs{xarabic}, etc.) within
+% \textsf{qbitem} environments. (See the \textsf{counterz} documentation for
+% details.)
+%
+% The \textsf{qbitem} environment allows for the inclusion of the various
+% environments for parts and solutions that are provided by the \textsf{exam}
+% class. Recall that each of the six solutions environments admits an argument
+% to specify the amount of solution space. (The argument is optional for all
+% except \textsf{solutionbox}. See the \textsf{exam} documentation for details.)
+% The \textsf{examz} class offers a command \cs{setsolutionspace}\marg{length}
+% \DescribeMacro{\setsolutionspace} and six analogous solutions environments
+% that pass \meta{length} to their \textsf{exam} counterparts. For example, the
+% \DescribeEnv{qbsolution}
+% environment \textsf{qbsolution} is equivalent to the environment
+% \textsf{solution}\oarg{length}. The advantage of this is that the command
+% \cs{setsolutionspace}\marg{length} can be included once in the file, above the
+% \textsf{questionbank} environment, for example, and any subsequent adjustment
+% of the length can be done for all of the question bank items simultaneously
+% with a single edit rather than a comprehensive search and replace. Five other
+% environments \textsf{qbsolutionbox}, \textsf{qbsolutionorbox},
+% \DescribeEnv{qbsolutionbox}
+% \textsf{qbsolutionorlines}, \textsf{qbsolutionordottedlines}, and finally
+% \DescribeEnv{qbsolutionorbox}
+% \textsf{qbsolutionorgrid} are similar analogues of the other \textsf{exam}
+% class solutions environments. Just as their \textsf{exam} counterparts, these
+% \DescribeEnv{qbsolutionorlines}
+% environments can also be used within the \textsf{parts} environment. The
+% \DescribeEnv{qbsolutionordottedlines}
+% command \cs{setsolutionspace} may be used multiple times in the same file,
+% \DescribeEnv{qbsolutionorgrid}
+% including within the \textsf{questionbank} environment, if necessary.
+%
+%\subsection{Customization Macros}
+%
+% The \textsf{exam} document class provides the means for customizing headers,
+% footers, special pages, etc. As an exam author makes changes to a document
+% between exams, courses, or academic terms, the author may require frequent
+% adjustment of certain standard content, such as the name of the exam or course
+% in a custom header. The \textsf{examz} document class offers several macros to
+% simplify such changes. For example, instead of explicitly including the text
+% ``MATH 101'' in a header, an author can use the macro \cs{coursename} which
+% can be set (and easily modified) at the beginning of the document. This is
+% especially useful when designing for many similar courses a custom
+% \textsf{.cls} file that loads the \textsf{examz} class and keeps the layout
+% and customizations ``behind the scenes''. We first list and describe these
+% macros and then provide an example of usage.
+%
+% \medskip
+% \noindent
+% \DescribeMacro{\instructorname}
+% The default replacement text for \cs{instructorname} is ``Instructor Name''.
+%
+% \noindent
+% \DescribeMacro{\setinstructorname}
+% Use the command \cs{setinstructorname}\marg{text} to change this text.
+%
+% \medskip
+% \noindent
+% \DescribeMacro{\coursename}
+% The default replacement text for \cs{coursename} is ``Course Name''.
+%
+% \noindent
+% \DescribeMacro{\setcoursename}
+% Use the command \cs{setcoursename}\marg{text} to change this text.
+%
+% \medskip
+% \noindent
+% \DescribeMacro{\examname}
+% The default replacement text for \cs{examname} is ``Exam Name''.
+%
+% \noindent
+% \DescribeMacro{\setexamname}
+% Use the command \cs{setexamname}\marg{text} to change this text.
+%
+% \medskip
+% \noindent
+% \DescribeMacro{\termname}
+% The default replacement text for \cs{termname} is ``Term Name''.
+%
+% \noindent
+% \DescribeMacro{\settermname}
+% Use the command \cs{settermname}\marg{text} to change this text.
+%
+% \medskip
+% \noindent
+% \DescribeMacro{\namespace}
+% The default expansion of \cs{namespace} is
+% ``Name:~\makebox[5cm]{\hrulefill}'' which is given by the code
+% \texttt{Name:$\sim$\cs{makebox}[5cm]\{\cs{hrulefill}\}}.
+%
+% \noindent
+% \DescribeMacro{\setnamespace}
+% Use the command \cs{setnamespace}\marg{format} to change this format.
+%
+% \medskip
+% \noindent
+%\DescribeMacro{\instructions}
+% The default replacement text for \cs{instructions} is ``Instructions Here''.
+%
+% \noindent
+% \DescribeMacro{\setinstructions}
+% Use the command \cs{setinstructions}\marg{text} to change this text, including
+% one or more paragraphs as needed.
+%
+% \medskip
+% \noindent
+% \DescribeMacro{\covernoanswers}
+% The command \cs{covernoanswers} can be used within the \textsf{coverpages}
+% environment provided by the \textsf{exam} class or simply as the first page(s)
+% of the exam. Its default expansion is empty.
+% \DescribeMacro{\setcovernoanswers}
+% Use the command \cs{setcovernoanswers}\marg{format} to change this format to
+% include special headers and footers, instructions, grade/point tables, an
+% instance of \cs{newpage}, etc.
+%
+% \medskip
+% \noindent
+% \DescribeMacro{\coveranswers}
+% The command \cs{coveranswers} can be used within the \textsf{coverpages}
+% environment provided by the \textsf{exam} class or simply as the first page(s)
+% of the exam. Its default expansion is \cs{covernoanswers}.
+% \DescribeMacro{\setcoveranswers}
+% Use the command \cs{setcoveranswers}\marg{format} to change this format to
+% include special headers and footers, instructions, grade/point tables, an
+% instance of \cs{newpage}, etc.
+%
+% \medskip
+% \noindent
+% \DescribeMacro{\printcover}%
+% The command \cs{printcover} executes either \cs{coveranswers} or
+% \cs{covernoanswers}, depending on the value of the boolean
+% \textsf{printanswers}. It can be used within the \textsf{coverpages}
+% environment that is provided by the \textsf{exam} class or simply as the first
+% page(s) of the exam.
+%
+% \medskip
+% \noindent
+%\DescribeMacro{\workspace}
+% The command \cs{workspace} is intended to provide additional work space on the
+% exam, perhaps at the end of the questions. Its default expansion is empty. Use
+% the command \cs{setworkspace}\marg{format} to add a bit of text, \cs{newpage},
+% \DescribeMacro{\setworkspace}
+% or a custom header/footer. To include the content of \cs{workspace} only when
+% the boolean \textsf{printanswers} is FALSE, use the command
+% \DescribeMacro{\printworkspace}
+% \cs{printworkspace}.
+%
+% \medskip
+% One method of streamlining the work of developing many exams that use the same
+% layout and format is to write a simple \textsf{.cls} file to use as a custom
+% instantiation of the \textsf{examz} document class, perhaps even including
+% frequently used packages:
+%
+%\begin{verbatim}
+%\NeedsTeXFormat{LaTeX2e}
+%\ProvidesClass{MYexamz}
+%\DeclareOption*{\PassOptionsToClass{\CurrentOption}{examz}}
+%\ProcessOptions\relax
+%\LoadClass{examz}
+%\RequirePackage{mathtools,amssymb}
+%\pagestyle{headandfoot}
+%\header{\coursename}{\examname}{termname}
+%\setcovernoanswers{%
+% \namespace
+%
+% \bigskip
+% \instructions
+%
+% \bigskip
+% \gradetable
+%
+% \firstpagefooter{Version \arabic{version}}{}{}
+% \newpage
+%}%
+%\setworkspace{%
+% \newpage
+% \begin{center} Extra Work Space \end{center}
+% \newpage
+%}%
+%\endinput
+%\end{verbatim}
+%
+% \noindent
+% Then use the custom document class \textsf{MYexamz} for the exam:
+%
+%\begin{verbatim}
+%\documentclass[addpoints,prompt,complete]{MYexamz}
+%
+%\setcoursename{MATH 101}
+%\setexamname{Test 1}
+%\settermname{Spring 2023}
+%\setinstructions{%
+% Read each problem carefully. Show all work.
+%}%
+%
+%\begin{document}
+%\begin{versions}
+% \printcover
+% \setquestionpath{Problems/}
+%\begin{questions}
+% \questionfrombank{Solve_Linear_Equation}
+% \questionfrombank{State_Capitals}
+%\end{questions}
+% \printworkspace
+%\end{versions}
+%\end{document}
+%\end{verbatim}
+%
+% To write a new exam Test 2 in the same course, simply change the argument of
+% \cs{setexamname} from \texttt{Test 1} to \texttt{Test 2} and use the
+% appropriate question banks. With random counters and well-developed question
+% banks, writing exams for the next term may be as simple as changing the
+% term name.
+%
+%\StopEventually{^^A
+% \PrintChanges
+% \PrintIndex
+%}
+%
+%\section{Implementation}\label{imp}
+%
+% The \textsf{examz} document class requires the packages \textsf{environ}, \textsf{xpatch}, and \textsf{counterz}, the last of which also loads the
+% packages \textsf{etoolbox} and \textsf{makecmds}.
+%
+% \begin{macrocode}
+\RequirePackage{environ}
+\RequirePackage{xpatch}
+\RequirePackage{counterz}
+% \end{macrocode}
+%
+% This class inherits all of the options available to the \textsf{exam} class,
+% including \textsf{answers}, \textsf{noanswers}, \textsf{cancelspace},
+% \textsf{nocancelspace}, and \textsf{addpoints}. The class also admits
+% several additional options, the first of which is called \textsf{complete}.
+% This option takes effect only when using the \textsf{versions} environment
+% (see Section \ref{imp:versions}) and will otherwise be ignored. With this
+% option selected, the document alternately prints each exam version with and
+% without its solutions. The default value of the associated boolean variable
+% is FALSE. Loading the option \textsf{complete} will change this value to TRUE.
+% This option is intended to take the place of the options \textsf{answers} and
+% \textsf{noanswers} and will override these two options if engaged.
+%
+% \begin{macrocode}
+\newbool{@examz@complete}
+\boolfalse{@examz@complete}
+\DeclareOption{complete}{\booltrue{@examz@complete}}
+% \end{macrocode}
+%
+% Additional options are based on features of the \textsf{counterz} package. The
+% option \textsf{randomize} will cause the command \cs{randprovidecounter} (and
+% its derivative commands) to generate new random values whereas the option
+% \textsf{norandomize} will cause these commands to input their values from a
+% file. Because this file may not exist before a first typesetting, the default
+% option is \textsf{randomize}.
+%
+% \begin{macrocode}
+\randomizectr
+\DeclareOption{randomize}{\randomizectr}
+\DeclareOption{norandomize}{\norandomizectr}
+% \end{macrocode}
+%
+%
+% Finally, the class may be loaded with an option called \textsf{prompt}.
+% Because the manual change of the option \textsf{randomize} may be forgotten,
+% resulting in the loss of counter values, the option \textsf{prompt} offers a
+% terminal-based dialogue through which randomization can be decided. This
+% action, which is executed at the beginning of the document (see below) is
+% based on the command \cs{promptranomizectr} from the \textsf{counterz}
+% package.
+%
+% \begin{macrocode}
+\newbool{@examz@prompt}
+\boolfalse{@examz@prompt}
+\DeclareOption{prompt}{\booltrue{@examz@prompt}}
+\newcommand{\promptrandomexam}{%
+ \promptrandomizectr[\EnterResponse]{%
+ ^^J Enter 1 to randomize document.
+ ^^J Enter 2 to update without new randomization.
+ }{%
+ 1%
+ }%
+}%
+% \end{macrocode}
+%
+% We now load the \textsf{exam} document class with all of these options.
+%
+% \begin{macrocode}
+\DeclareOption*{%
+ \PassOptionsToClass{\CurrentOption}{exam}
+}%
+\ProcessOptions\relax
+\LoadClass{exam}
+% \end{macrocode}
+%
+% Next, we patch the \textsf{coverpages} environment. If the document is loaded
+% with the option \textsf{twoside} (passed from the \textsf{article} class) and
+% the \textsf{coverpages} environment produces an odd number of pages, then an
+% extra blank page is inserted so that the odd arabic page numerals appear on
+% the right page (i.e. front of the page).
+%
+% \begin{macrocode}
+\xpatchcmd{\endcoverpages}{\setcounter{num@coverpages}{\value{page}}}{%
+ \ifbool{@twoside}{%
+ \ifnumodd{\value{page}}{%
+ % Do Nothing
+ }{%
+ \newpage
+ \null
+ \newpage
+ }%
+ }{%
+ % Do nothing
+ }%
+ \setcounter{num@coverpages}{\value{page}}%
+}{}{}%
+% \end{macrocode}
+% If the class is loaded with the option \textsf{prompt} then we execute the
+% command \cs{promptrandomexam}. If the user elects to not randomize the
+% document, either by terminal input via \cs{promptrandomexam} or by instead
+% loading the \textsf{norandomize} option, then we execute the command
+% \cs{inputcountersfile}. (Note that this will produce an error if no counters
+% file exists, so this option should not be used for a first typesetting.) If
+% the user does elect to randomize the document, by terminal input or by loading
+% the class with the option \textsf{randomize} or by loading the class with none
+% of the options \textsf{randomize}, \textsf{norandomize}, or \textsf{prompt},
+% then we execute the command \cs{opencountersfile}.
+%
+% \begin{macrocode}
+\AtBeginDocument{%
+ \ifbool{@examz@prompt}{%
+ \promptrandomexam
+ }{%
+ }%
+ \ifrandomizectr{%
+ \opencountersfile
+ }{%
+ \inputcountersfile
+ }%
+}%
+% \end{macrocode}
+%
+%\subsection{Randomized Exams}\label{imp:versions}
+%
+% The counter \textit{numversions} determines how many versions of the exam will
+% be generated. The default value of \textit{numversions} is 1.
+%
+% \begin{macrocode}
+\newcounter{numversions}
+\setcounter{numversions}{1}
+% \end{macrocode}
+%
+%\begin{macro}{\promptversions}
+%
+% The following command is used by the \textsf{versions} environment (described
+% below) whenever the class is loaded with the \textsf{prompt} option. Note that
+% the counter is saved to the counters file. (See the documentation for the
+% \textsf{counterz} package.)
+%
+% \begin{macrocode}
+\newcommand{\promptversions}{%
+ \typein[\NumberOfVersions]{%
+ ^^J How many versions?
+ }%
+ \setcounter{numversions}{\NumberOfVersions}
+ \savecounter{numversions}
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+% The counter \textit{version} keeps track of the exam version when printing.
+% The value of \textit{version} is initialized as 1.
+%
+% \begin{macrocode}
+\newcounter{version}
+\setcounter{version}{1}
+% \end{macrocode}
+%
+% We now patch the parent class \textsf{exam} so that corresponding questions in
+% different versions will not be assigned the same question label. To accomplish
+% this, we append to the question labels the value of \textit{version}. We also
+% append an \textit{S} if the boolean \textit{answers} (from the \textsf{exam}
+% class) is TRUE, to distinguish between versions with and without solutions
+% when the class is loaded with the option \textsf{complete}.
+%
+% \begin{macrocode}
+\xpatchcmd{\find@latestques}
+ {@\arabic{question}}
+ {@\arabic{version}\ifbool{printanswers}{S}{}@\arabic{question}}
+ {}{}
+\xpatchcmd{\decr@latest@ques}
+ {question@}
+ {question@\arabic{version}\ifbool{printanswers}{S}{}@}
+ {}{}
+\xpatchcmd{\chk@incompi}
+ {question@}
+ {question@\arabic{version}\ifbool{printanswers}{S}{}@}
+ {}{}
+\xpatchcmd{\questions}
+ {@\arabic{question}}
+ {@\arabic{version}\ifbool{printanswers}{S}{}@\arabic{question}}
+ {}{}
+\xpatchcmd{\parts}
+ {@\arabic{question}}
+ {@\arabic{version}\ifbool{printanswers}{S}{}@\arabic{question}}
+ {}{}
+\xpatchcmd{\subparts}
+ {@\arabic{question}}
+ {@\arabic{version}\ifbool{printanswers}{S}{}@\arabic{question}}
+ {}{}
+\xpatchcmd{\subsubparts}
+ {@\arabic{question}}
+ {@\arabic{version}\ifbool{printanswers}{S}{}@\arabic{question}}
+ {}{}
+\xpatchcmd{\setup@point@toks}
+ {@\arabic{question}}
+ {@\arabic{version}\ifbool{printanswers}{S}{}@\arabic{question}}
+ {}{}
+\xpatchcmd{\refto@index}
+ {question@}
+ {question@\arabic{version}\ifbool{printanswers}{S}{}@}
+ {}{}
+% \end{macrocode}
+%
+%\begin{macro}{\@examz@versions}
+%
+% The \textsf{versions} environment is defined via command \cs{@examz@versions}.
+% The single argument of this command represents the user-provided exam content,
+% including the \textsf{questions} environment and any pages before or after. If
+% the class is loaded with the option \textsf{prompt} and the exam is randomized
+% then the command first executes \cs{promptversions} to attain and save the
+% value of the counter \textit{numversions}. The main action of the command is
+% to use a while loop to generate versions of the exam, updating the version
+% and page numbers along the way. When the class is loaded with the option
+% \textsf{complete}, the document alternately prints without and with solutions,
+% updating the version only after both printings. When the class is loaded with
+% the option \textsf{twoside}, an extra blank page is inserted at the end of
+% each version when necessary to ensure that the next version starts on a front
+% page.
+%
+% \begin{macrocode}
+\newcommand{\@examz@versions}[1]{%
+ \ifrandomizectr{%
+ \ifbool{@examz@prompt}{%
+ \promptversions
+ }{%
+ % Do Nothing
+ }%
+ }{%
+ % Do Nothing
+ }%
+ \ifbool{@examz@complete}{%
+ \noprintanswers
+ }{%
+ % Do Nothing
+ }%
+ \whileboolexpr{%
+ test{\ifnumless{\value{version}}{1+\value{numversions}}}
+ }{%
+ \ifbool{@twoside}{%
+ \ifnumodd{\value{page}}{%
+ % Do Nothing
+ }{%
+ \newpage
+ \null
+ \thispagestyle{empty}
+ \newpage
+ }%
+ }{%
+ % Do Nothing
+ }%
+ \setcounter{page}{1}
+ \setcounter{numquestions}{0}
+ \setcounter{numparts}{0}
+ \setcounter{numsubparts}{0}
+ \setcounter{numsubsubparts}{0}
+ \setcounter{numpoints}{0}
+ \setcounter{numbonuspoints}{0}
+ #1
+ \newpage
+ \notbool{@examz@complete}{%
+ \addtocounter{version}{1}
+ }{%
+ \notbool{printanswers}{%
+ \printanswers
+ }{%
+ \noprintanswers
+ \addtocounter{version}{1}
+ }%
+ }%
+ }%
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{environment}{versions}
+%
+% The \textsf{versions} environment is now defined using the previous command
+% and the command \cs{Collect@Body}. The environment has an optional argument
+% with which the user may specify the number of versions. If the exam is not
+% randomized then the argument is ignored under the assumption that the needed
+% value has been inputted from the counters file after a previous randomization.
+% (If there is never any randomization, then there is no need for different
+% versions, and the environment will execute with the default number of versions
+% being one.) If the class is loaded with the option \textsf{prompt}, then this
+% optional argument will be overridden by the number provided by the user via
+% terminal prompt.
+%
+% \begin{macrocode}
+\newenvironment{versions}[1][1]{%
+ \ifrandomizectr{%
+ \setcounter{numversions}{#1}
+ \savecounter{numversions}
+ }{%
+ % Do Nothing
+ }%
+ \Collect@Body\@examz@versions
+}{%
+ % Empty
+}%
+% \end{macrocode}
+%
+%\end{environment}
+%
+% The \textsf{exam} document class exam prints in the console and log file some
+% data that includes the number of questions, total points, etc. Here we add to
+% that data the number of versions of the exam and whether the solutions were
+% printed.
+%
+% \begin{macrocode}
+\AtEndDocument{%
+ \typeout{%
+ This document contains \thenumversions\space
+ version\ifnumequal{\value{numversions}}{1}{}{s} of the exam
+ \ifbool{@examz@complete}{%
+ with and without solutions.
+ }{%
+ \ifbool{printanswers}{%
+ with solutions.
+ }{%
+ without solutions.
+ }%
+ }%
+ }%
+}%
+% \end{macrocode}
+%
+%\subsection{Question Banks}\label{imp:banks}
+%
+%\begin{macro}{\@examz@questionpath}
+%\begin{macro}{\setquestionpath}
+% The default value of \cs{@examz@questionpath} is empty, but authors may use
+% the command \cs{setquestionpath}\marg{pathname} to change this.
+%
+% \begin{macrocode}
+\newcommand{\@examz@questionpath}{}
+\newcommand{\setquestionpath}[1]{%
+ \renewcommand{\@examz@questionpath}{#1}
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%\end{macro}
+%
+%\begin{macro}{\questionfrombank}
+% The command \cs{questionfrombank}\oarg{points}\marg{filename} uses the
+% command \cs{question} from the \textsf{exam} class. The first (optional)
+% argument is the point value of the question, and the second argument is the
+% name of the question bank file (without the .tex extension). The input uses
+% \cs{\@examz@questionpath}. In order to avoid a conflict between question banks
+% that use the same counter names, \cs{counterprefix} is temporarily set to
+% include both the name of the file and the number of the version. (See the
+% \textsf{counterz} package for more information about \cs{setcounterprefix}.)
+%
+% \begin{macrocode}
+\newcommand{\questionfrombank}[2][]{%
+ \question[#1]
+ \setcounterprefix{#2_Version_\arabic{version}_}
+ \input{\@examz@questionpath #2}
+ \clearcounterprefix
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\setnumberofquestions}
+%
+% The counter \textit{@examz@qbsize} is an internal counter to represent the
+% number of questions in a question bank. The command
+% \cs{setnumberofquestions}\marg{number} is used to set this value.
+%
+% \begin{macrocode}
+\newcounter{@examz@qbsize}
+\newcommand{\setnumberofquestions}[1]{%
+ \setcounter{@examz@qbsize}{#1}
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{environment}{questionbank}
+%
+% The \textsf{questionbank} environment begins by creating a random counter that
+% is used to determine which question will be selected and ends with the command
+% \cs{endinput} so that nothing after the environment appears in the question.
+% \begin{macrocode}
+\newenvironment{questionbank}{%
+ \xrandprovidecounter{Random_Question}{1}{\value{@examz@qbsize}}
+}{%
+ \endinput
+}
+% \end{macrocode}
+%
+%\end{environment}
+%
+%\begin{environment}{qbitem}
+%
+% The environment \textsf{qbitem} is a wrapper for each option in a
+% \textsf{questionbank} environment. The argument is an integer value that is
+% compared to the random counter value generated by \textsf{questionbank}. The
+% body of the environment is the content of the question. Additional counters
+% that are created and manipulated within \textsf{qbitem} should be handled by
+% the commands provided in the \textsf{counterz} package in order to use the
+% counter prefix that is created by the command \cs{questionfrombank}.
+%
+% \begin{macrocode}
+\NewEnviron{qbitem}[1]{%
+ \ifnumequal{\xvalue{Random_Question}}{#1}{%
+ \BODY
+ }{%
+ }
+}
+% \end{macrocode}
+%
+%\end{environment}
+%
+%\begin{macro}{\setsolutionspace}
+%
+% The command \cs{@examz@solutionspace} represents the amount of space allotted
+% to solutions, per the various solutions environments that are defined by the
+% \textsf{exam} document class. \cs{setsolutionspace}\marg{length} is used to
+% set this value.
+%
+% \begin{macrocode}
+\newcommand{\@examz@solutionspace}{1cm}
+\newcommand{\setsolutionspace}[1]{%
+ \renewcommand{\@examz@solutionspace}{#1}
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+% \noindent
+% For each of the six solutions environments provided by the \textsf{exam} class
+% there is an analogous solutions environment that automatically loads the value
+% of \cs{SolutionSpace} for the argument.
+%
+%\begin{environment}{qbsolution}
+%
+% \textsf{qbsolution} is equivalent to
+% \textsf{solution}[\cs{@examz@solutionspace}].
+%
+% \begin{macrocode}
+\NewEnviron{qbsolution}{%
+ \begin{solution}[\@examz@solutionspace]
+ \BODY
+ \end{solution}
+}%
+% \end{macrocode}
+%
+%\end{environment}
+%
+%\begin{environment}{qbsolutionbox}
+%
+% \textsf{qbsolutionbox} is equivalent to
+% \textsf{solutionbox}\{\cs{@examz@solutionspace}\}.
+%
+% \begin{macrocode}
+\NewEnviron{qbsolutionbox}{%
+ \begin{solutionbox}{\@examz@solutionspace}
+ \BODY
+ \end{solutionbox}
+}%
+% \end{macrocode}
+%
+%\end{environment}
+%
+%\begin{environment}{qbsolutionorbox}
+%
+% \textsf{qbsolutionorbox} is equivalent to
+% \textsf{solutionorbox}[\cs{@examz@solutionspace}].
+%
+% \begin{macrocode}
+\NewEnviron{qbsolutionorbox}{%
+ \begin{solutionorbox}[\@examz@solutionspace]
+ \BODY
+ \end{solutionorbox}
+}%
+% \end{macrocode}
+%
+%\end{environment}
+%
+%\begin{environment}{qbsolutionorlines}
+%
+% \textsf{qbsolutionorlines} is equivalent to
+% \textsf{solutionorlines}[\cs{@examz@solutionspace}].
+%
+% \begin{macrocode}
+\NewEnviron{qbsolutionorlines}{%
+ \begin{solutionorlines}[\@examz@solutionspace]
+ \BODY
+ \end{solutionorlines}
+}%
+% \end{macrocode}
+%
+%\end{environment}
+%
+%\begin{environment}{qbsolutionordottedlines}
+%
+% \textsf{qbsolutionordottedlines} is equal to
+% \textsf{solutionordottedlines}[\cs{@examz@solutionspace}].
+%
+% \begin{macrocode}
+\NewEnviron{qbsolutionordottedlines}{%
+ \begin{solutionordottedlines}[\@examz@solutionspace]
+ \BODY
+ \end{solutionordottedlines}
+}%
+% \end{macrocode}
+%
+%\end{environment}
+%
+%\begin{environment}{qbsolutionorgrid}
+%
+% \textsf{qbsolutionorgrid} is equivalent to
+% \textsf{solutionorgrid}[\cs{@examz@solutionspace}].
+%
+% \begin{macrocode}
+\NewEnviron{qbsolutionorgrid}{%
+ \begin{solutionorgrid}[\@examz@solutionspace]
+ \BODY
+ \end{solutionorgrid}
+}%
+% \end{macrocode}
+%
+%\end{environment}
+%
+%\subsection{Customization Macros}
+%
+%\begin{macro}{\instructorname}
+%\begin{macro}{\coursename}
+%\begin{macro}{\examname}
+%\begin{macro}{\termname}
+%\begin{macro}{\namespace}
+%\begin{macro}{\instructions}
+%\begin{macro}{\covernoanswers}
+%\begin{macro}{\coveranswers}
+%\begin{macro}{\workspace}
+%
+% The following commands define macros, with default values, for use in
+% formatting headers, footers, and special pages. \cs{covernoanswers} and
+% \cs{workspace} are empty by default, and \cs{coveranswers} is equal to
+% \cs{covernoanswers} by default.
+%
+% \begin{macrocode}
+\newcommand{\instructorname}{Instructor Name}
+\newcommand{\coursename}{Course Name}
+\newcommand{\examname}{Exam Name}
+\newcommand{\termname}{Term Name}
+\newcommand{\namespace}{Name:~\makebox[5cm]{\hrulefill}}
+\newcommand{\instructions}{Instructions Here}
+\newcommand{\covernoanswers}{}
+\newcommand{\coveranswers}{\covernoanswers}
+\newcommand{\workspace}{}
+% \end{macrocode}
+%
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%
+%\begin{macro}{\setinstructorname}
+%\begin{macro}{\setcoursename}
+%\begin{macro}{\setexamname}
+%\begin{macro}{\settermname}
+%\begin{macro}{\setnamespace}
+%\begin{macro}{\setinstructions}
+%\begin{macro}{\setcoveranswers}
+%\begin{macro}{\setcovernoanswers}
+%\begin{macro}{\setworkspace}
+%
+% The following commands allow a user to redefine the above macros.
+% \begin{macrocode}
+\newcommand{\setinstructorname}[1]{\renewcommand{\instructorname}{#1}}
+\newcommand{\setcoursename}[1]{\renewcommand{\coursename}{#1}}
+\newcommand{\setexamname}[1]{\renewcommand{\examname}{#1}}
+\newcommand{\settermname}[1]{\renewcommand{\termname}{#1}}
+\newcommand{\setnamespace}[1]{\renewcommand{\namespace}{#1}}
+\newcommand{\setinstructions}[1]{\renewcommand{\instructions}{#1}}
+\newcommand{\setcovernoanswers}[1]{\renewcommand{\covernoanswers}{#1}}
+\newcommand{\setcoveranswers}[1]{\renewcommand{\coveranswers}{#1}}
+\newcommand{\setworkspace}[1]{\renewcommand{\workspace}{#1}}
+% \end{macrocode}
+%
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%\end{macro}
+%
+%\begin{macro}{\printcover}
+%
+% The command \cs{printcover} executes either \cs{coveranswers} or
+% \cs{covernoanswers}, depending on the value of the boolean
+% \textsf{printanswers}.
+%
+% \begin{macrocode}
+\newcommand{\printcover}{%
+ \ifbool{printanswers}{\coveranswers}{\covernoanswers}
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+%\begin{macro}{\printworkspace}
+%
+% The command \cs{printcover} executes \cs{workspace} when the boolean
+% \textsf{printanswers} is false and otherwise does nothing.
+%
+% \begin{macrocode}
+\newcommand{\printworkspace}{%
+ \ifbool{printanswers}{}{\workspace}
+}%
+% \end{macrocode}
+%
+%\end{macro}
+%
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/examz/examz.ins b/macros/latex/contrib/examz/examz.ins
new file mode 100644
index 0000000000..4d52e93772
--- /dev/null
+++ b/macros/latex/contrib/examz/examz.ins
@@ -0,0 +1,59 @@
+%%
+%% `examz' --- 2023/05/30 Version 1.0.0
+%%
+%% Copyright (C) 2023 by Christopher McClain
+%% E-mail: christopher.mcclain@mail.wvu.edu
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3c or later is part of all distributions of
+%% LaTeX version 2008 or later.
+%%
+
+\input docstrip.tex
+\keepsilent
+
+\usedir{tex/latex/examz}
+
+\preamble
+
+This is a generated file.
+
+`examz' --- 2023/05/30 Version 1.0.0
+
+Copyright (C) 2023 by Christopher McClain
+E-mail: christopher.mcclain@mail.wvu.edu
+
+This file may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either
+version 1.3c of this license or (at your option) any later
+version. The latest version of this license is in:
+
+ http://www.latex-project.org/lppl.txt
+
+and version 1.3c or later is part of all distributions of
+LaTeX version 2008 or later.
+
+\endpreamble
+
+\generate{\file{examz.cls}{\from{examz.dtx}{class}}}
+
+\Msg{*********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the}
+\Msg{* following file into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space examz.cls}
+\Msg{*}
+\Msg{* To produce the documentation run the file examz.dtx}
+\Msg{* through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing!}
+\Msg{*********************************************************}
+
+\endbatchfile \ No newline at end of file
diff --git a/macros/latex/contrib/examz/examz.pdf b/macros/latex/contrib/examz/examz.pdf
new file mode 100644
index 0000000000..357b153e4c
--- /dev/null
+++ b/macros/latex/contrib/examz/examz.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
index d4451abc83..5e9fff73df 100644
--- a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
+++ b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
index 9f4bb4a337..e07a5b02c1 100644
--- a/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
+++ b/macros/latex/contrib/jeuxcartes/doc/JeuxCartes-doc.tex
@@ -69,8 +69,8 @@
\setlength{\parindent}{0pt}
\definecolor{LightGray}{gray}{0.9}
-\def\TPversion{0.2.4}
-\def\TPdate{18 Mars 2023}
+\def\TPversion{0.2.5}
+\def\TPdate{06 juin 2023}
\usepackage[most]{tcolorbox}
\usepackage[outputdir=build]{minted}
@@ -209,6 +209,8 @@ Une commande pour des cartes en version \og miniatures \fg{} (individuelle, main
\part{Historique}
+{\small \bverb|v0.2.5|~:~~~~Compatibilité des \textit{Mini}-Cartes avec les cartes avec nom anglais.
+
{\small \bverb|v0.2.4|~:~~~~Ajout du style carte Poker \textsf{fr} + style Bicycle \textsf{bicycl} + ajout d'une clé \textsf{<StyleJeu>}
{\small \bverb|v0.2.3|~:~~~~Ajout d'une clé \textsf{<inverse>} + dos Uno + style \textsf{v5} pour le Poker
@@ -684,7 +686,7 @@ Ces \textit{mini-}cartes sont des figures \TikZ, alignées verticalement sur leu
\begin{codetex}[]
Si on met du texte sur la ligne du dessus, on peut voir le résultat.\\
Voilà des exemples de mini-cartes, \AffMiniCarteJeu{7.K}\AffMiniCarteJeu{1.AT}\AffMiniCarteJeu{V.K}\AffMiniCarteJeu{10.C}, intégrables dans un paragraphe.\\
-Si on met du texte sur la ligne du dessous, on peut voir le résultat.
+Si on met du texte sur la ligne du dessous, on peut voir le résultat, avec ici des mini-cartes anglaises \AffMiniCarteJeu{K.T}\AffMiniCarteJeu{JO.R}\AffMiniCarteJeu{Q.C}\AffMiniCarteJeu{J.P}.
\end{codetex}
\subsection{Noms des \textit{mini-}cartes}
@@ -693,11 +695,11 @@ Si on met du texte sur la ligne du dessous, on peut voir le résultat.
Pour des raisons internes au code, les cartes doivent être saisies suivant la nomenclature (noter l'utilisation du \ctex{.} pour séparer la hauteur de la couleur !) :
\begin{itemize}
- \item \texttt{2.C}, \texttt{3.C}, \ldots, \texttt{C.C}, \texttt{D.C}, \texttt{R.C}, \texttt{A.C}\dotfill\Cle{CÅ“ur}
- \item \texttt{2.P}, \texttt{3.P}, \ldots, \texttt{C.P}, \texttt{D.P}, \texttt{R.P}, \texttt{A.P}\dotfill\Cle{Pique}
- \item \texttt{2.K}, \texttt{3.K}, \ldots, \texttt{C.K}, \texttt{D.K}, \texttt{R.K}, \texttt{A.K}\dotfill\Cle{Carreau}
- \item \texttt{2.T}, \texttt{3.T}, \ldots, \texttt{K.T}, \texttt{D.T}, \texttt{R.T}, \texttt{A.T}\dotfill\Cle{Trèfle}
- \item \texttt{J.N}, \texttt{J.R}\dotfill\Cle{Joker}
+ \item \texttt{2.C}, \texttt{3.C}, \ldots, \texttt{C.C}, \texttt{D.C}, \texttt{R.C}, \texttt{A.C}, \texttt{J.C}, \texttt{Q.C}, \texttt{K.C}\dotfill\Cle{CÅ“ur}
+ \item \texttt{2.P}, \texttt{3.P}, \ldots, \texttt{C.P}, \texttt{D.P}, \texttt{R.P}, \texttt{A.P}, \texttt{J.P}, \texttt{Q.P}, \texttt{K.P}\dotfill\Cle{Pique}
+ \item \texttt{2.K}, \texttt{3.K}, \ldots, \texttt{C.K}, \texttt{D.K}, \texttt{R.K}, \texttt{A.K}, \texttt{J.K}, \texttt{Q.K}, \texttt{K.K}\dotfill\Cle{Carreau}
+ \item \texttt{2.T}, \texttt{3.T}, \ldots, \texttt{K.T}, \texttt{D.T}, \texttt{R.T}, \texttt{A.T}, \texttt{J.T}, \texttt{Q.T}, \texttt{K.T}\dotfill\Cle{Trèfle}
+ \item \cmaj{0.2.5} \texttt{JO.N}, \texttt{JO.R}\dotfill\Cle{Joker}
\item \texttt{Exc}, \texttt{1.AT}, \texttt{2.AT}, \ldots, \texttt{20.T}, \texttt{21.AT}\dotfill\Cle{Atouts}
\end{itemize}
@@ -721,6 +723,7 @@ Quelques \Cle{options} pour les \textit{mini-}cartes :
\begin{codetex}[]
\foreach \EECARTE in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}{\AffMiniCarteJeu[Largeur=0.75cm]{\EECARTE.K}}\\
+\foreach \EECARTE in {2,3,4,5,6,7,8,9,10,J,Q,K,A}{\AffMiniCarteJeu[Largeur=0.75cm]{\EECARTE.P}}\\
\AffMiniCarteJeu[FondAtout=cyan,Largeur=0.75cm]{Exc}%
\foreach \EECARTE in {1,2,...,21}{\AffMiniCarteJeu[FondAtout=cyan,Largeur=0.75cm]{\EECARTE.AT}}
\end{codetex}
@@ -738,24 +741,31 @@ Comme pour les cartes \textit{classiques}, il existe deux commandes pour des \te
\end{codetex}
\begin{codecles}
-Les \Cle{Clés} sont les mêmes que pour la commande individuelle, avec en plus :
-
+Les \Cle{Clés} sont les mêmes que pour la commande individuelle, avec en plus la clé \Cle{TypeJeu} parmi :
\begin{itemize}
- \item la clé \Cle{TypeJeu} (parmi \Cle{Poker} ou \Cle{Tarot} ou \Cle{Belote} ou \Cle{Bataille} ou \Cle{Rami}). \hfill{}défaut \Cle{Poker}
+ \item \Cle{Poker} ou \Cle{Tarot} ou \Cle{Belote} ou \Cle{Bataille} ou \Cle{Rami} pour les cartes [fr] ;
+ \item \cmaj{0.2.5} \Cle{PokerEN} ou \Cle{BeloteEN} ou \Cle{BatailleEN} ou \Cle{RamiEN} pour les cartes [en] ;
\end{itemize}
+\hfill{}défaut \Cle{Poker}
\end{codecles}
\begin{codetex}[]
\textbf{\large Saisie de mains : }\\
-\MainMiniCartesJeu{7.K § A.P § D.T § V.K § 10.C § C.T} et~
+\MainMiniCartesJeu{7.K § A.P § D.T § V.K § 10.C § C.T § JO.N} et~
\MainMiniCartesJeu{Exc § 1.AT § C.C § 8.T § 2.K § 5.AT § 2.AT § D.P § 7.T § 10.C § 19.AT § V.P}\\
\textbf{\large Poker : }\\
\MainMiniCartesJeuAleatoire{5} ou \MainMiniCartesJeuAleatoire{5} ou \MainMiniCartesJeuAleatoire{5} ou \MainMiniCartesJeuAleatoire{5}.\\
+\textbf{\large Poker [en] : }\\
+\MainMiniCartesJeuAleatoire[TypeJeu=PokerEN]{5} ou \MainMiniCartesJeuAleatoire[TypeJeu=PokerEN]{5} ou \MainMiniCartesJeuAleatoire[TypeJeu=PokerEN]{5} ou \MainMiniCartesJeuAleatoire[TypeJeu=PokerEN]{5}.\\
+
\textbf{\large Belote :}\\
\MainMiniCartesJeuAleatoire[TypeJeu=Belote]{8} ou \MainMiniCartesJeuAleatoire[TypeJeu=Belote]{8} ou \MainMiniCartesJeuAleatoire[TypeJeu=Belote]{8}.\\
+\textbf{\large Belote [en] :}\\
+\MainMiniCartesJeuAleatoire[TypeJeu=BeloteEN]{8} ou \MainMiniCartesJeuAleatoire[TypeJeu=BeloteEN]{8} ou \MainMiniCartesJeuAleatoire[TypeJeu=BeloteEN]{8}.\\
+
\textbf{\large Bataille : }\\
\MainMiniCartesJeuAleatoire[TypeJeu=Bataille]{12} ou \MainMiniCartesJeuAleatoire[TypeJeu=Bataille]{12}.\\
@@ -763,7 +773,12 @@ Les \Cle{Clés} sont les mêmes que pour la commande individuelle, avec en plus
\MainMiniCartesJeuAleatoire[TypeJeu=Tarot]{10} ou \MainMiniCartesJeuAleatoire[TypeJeu=Tarot]{10}.\\
\textbf{\large Rami : }\\
-\MainMiniCartesJeuAleatoire[TypeJeu=Rami]{15} ou \MainMiniCartesJeuAleatoire[TypeJeu=Rami]{14}.
+\MainMiniCartesJeuAleatoire[TypeJeu=Rami]{15} ou\\
+\MainMiniCartesJeuAleatoire[TypeJeu=Rami]{14}.\\
+
+\textbf{\large Rami [en] : }\\
+\MainMiniCartesJeuAleatoire[TypeJeu=RamiEN]{15} ou\\
+\MainMiniCartesJeuAleatoire[TypeJeu=RamiEN]{14}.
\end{codetex}
\pagebreak
@@ -925,15 +940,15 @@ Dos disponibles : \texttt{DosBleu} ou \texttt{DosRouge}
\subsection{MiniCartes}
-\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.P}}
+\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.P}} et \xintFor #1 in {J,Q,K}\do{\AffMiniCarteJeu{#1.P}}
-\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.C}}
+\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.C}} et \xintFor #1 in {J,Q,K}\do{\AffMiniCarteJeu{#1.C}}
-\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.K}}
+\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.K}} et \xintFor #1 in {J,Q,K}\do{\AffMiniCarteJeu{#1.K}}
-\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.T}}
+\xintFor #1 in {2,3,4,5,6,7,8,9,10,V,C,D,R,A}\do{\AffMiniCarteJeu{#1.T}} et \xintFor #1 in {J,Q,K}\do{\AffMiniCarteJeu{#1.T}}
-\AffMiniCarteJeu{J.N}\AffMiniCarteJeu{J.R}
+\AffMiniCarteJeu{JO.N}\AffMiniCarteJeu{JO.R}
\medskip
diff --git a/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty b/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
index b0579a4086..ce50d3361f 100644
--- a/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
+++ b/macros/latex/contrib/jeuxcartes/tex/JeuxCartes.sty
@@ -11,8 +11,9 @@
% Uno v1 cards Image's Licence.: MIT License https://eperezcosano.github.io/uno-part1/
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{JeuxCartes}[2023/03/18 v0.2.4 Jeux de cartes]
-% 0.2.4 Style <fr> avec carte française + <bicycl> + modification des clés avec l'ajout de <StyleJeu> + Suppression xcolor
+\ProvidesPackage{JeuxCartes}[2023/06/06 v0.2.5 Jeux de cartes]
+% 0.2.5 Correction d'un dysfonctionnement avec le J qui peut désormais être utilisé en MiniCarte avec le Joker [en] + MiniMains [en]
+% 0.2.4 Style <fr> avec cartes françaises + <bicycl> + modification des clés avec l'ajout de <StyleJeu> + Suppression xcolor
% 0.2.3 Ajout d'une option pour présenter une main "inversée" + style <v5>
% 0.2.2 Correction de 2 cartes de pokerv4
% 0.2.2 Ajout d'un style <v4> pour le poker
@@ -376,6 +377,10 @@
\end{tikzpicture}%
}
+%------commande pour remonter le Q ttfamily
+\DeclareRobustCommand*{\RaiseBoxByDepth}{%
+ \raisebox{\depth}%
+}
%------commande mini-cartes
\defKV[AffMiniCartes]{%
Largeur=\def\MiniCarteLargeur{#1},%
@@ -409,11 +414,13 @@
\IfStrEq{\csVal}{21}{\def\csVal{\scalebox{0.5}[1]{21}}}{}%
%le cas de Excuse
\IfStrEq{#2}{Exc}%
- {\def\csSymb{\ding{168}}\def\csCoul{blue}%
- \def\csVal{\scalebox{0.33}[1]{EXC}}}{}%
+ {\def\csSymb{\ding{168}}\def\csCoul{blue}\def\csVal{\scalebox{0.33}[1]{EXC}}}{}%
%le cas du Joker
- \IfStrEq{\csVal}{J}%
+ \IfStrEq{\csVal}{JO}%
{\def\csSymb{\ding{166}}\def\csVal{\scalebox{0.5}[1]{JO}}}{}%
+ %le cas de la dame [en] Q
+ \IfStrEq{\csVal}{Q}%
+ {\def\csVal{\RaiseBoxByDepth{\scalebox{1}[0.8]{Q}}}}{}%
%si c'est un coeur
\IfStrEq{\csCplt}{C}%
{\def\csSymb{\ding{170}}\def\csCoul{red}}{}%
@@ -433,7 +440,7 @@
\IfStrEq{\csCplt}{R}%
{\def\csCoul{red}}{}%
%minicarte
- \tikz[baseline=(char.base)]\node[anchor=north west,line width=0.7pt,draw=gray,rectangle,rounded corners,inner sep=1.6pt,fill=\csFond,text=\csCoul,font=\ttfamily,minimum width=\MiniCarteLargeur](char){\csVal\scalebox{0.75}[0.75]{\csSymb}};%
+ \tikz[baseline=(char.base)]\node[anchor=north west,line width=0.7pt,draw=gray,rectangle,rounded corners=3pt,inner sep=1.5pt,fill=\csFond,text=\csCoul,font=\ttfamily,minimum width=\MiniCarteLargeur](char){\vphantom{A}\csVal\scalebox{0.75}[0.75]{\csSymb}};%
}
%------commande mini-main-cartes
@@ -470,10 +477,14 @@
}
\xdef\MiniCartesJeuPoker{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}%
+\xdef\MiniCartesJeuPokerEN{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,J.P,Q.P,K.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,J.T,Q.T,K.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,J.C,Q.C,K.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,J.K,Q.K,K.K,A.K}%
\xdef\MiniCartesJeuBelote{7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K}%
-\xdef\MiniCartesJeuBataille{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}%
+\xdef\MiniCartesJeuBeloteEN{7.P,8.P,9.P,10.P,J.P,Q.P,K.P,A.P,7.T,8.T,9.T,10.T,J.T,Q.T,K.T,A.T,7.C,8.C,9.C,10.C,J.C,Q.C,K.C,A.C,7.K,8.K,9.K,10.K,J.K,Q.K,K.K,A.K}%
+\xdef\MiniCartesJeuBataille{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,JO.N,JO.R}%
+\xdef\MiniCartesJeuBatailleEN{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,J.P,Q.P,K.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,J.T,Q.T,K.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,J.C,Q.C,K.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,J.K,Q.K,K.K,A.K,JO.N,JO.R}%
\xdef\MiniCartesJeuTarot{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,C.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,C.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,C.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,C.K,D.K,R.K,A.K,1.AT,2.AT,3.AT,4.AT,5.AT,6.AT,7.AT,8.AT,9.AT,10.AT,11.AT,12.AT,13.AT,14.AT,15.AT,16.AT,17.AT,18.AT,19.AT,20.AT,21.AT,Exc}%
-\xdef\MiniCartesJeuRami{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R,2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,J.N,J.R}%
+\xdef\MiniCartesJeuRami{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,JO.N,JO.R,2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,V.P,D.P,R.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,V.T,D.T,R.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,V.C,D.C,R.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,V.K,D.K,R.K,A.K,JO.N,JO.R}%
+\xdef\MiniCartesJeuRamiEN{2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,J.P,Q.P,K.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,J.T,Q.T,K.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,J.C,Q.C,K.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,J.K,Q.K,K.K,A.K,JO.N,JO.R,2.P,3.P,4.P,5.P,6.P,7.P,8.P,9.P,10.P,J.P,Q.P,K.P,A.P,2.T,3.T,4.T,5.T,6.T,7.T,8.T,9.T,10.T,J.T,Q.T,K.T,A.T,2.C,3.C,4.C,5.C,6.C,7.C,8.C,9.C,10.C,J.C,Q.C,K.C,A.C,2.K,3.K,4.K,5.K,6.K,7.K,8.K,9.K,10.K,J.K,Q.K,K.K,A.K,JO.N,JO.R}%
\NewList{MiniCartesJeuMelange}
\NewDocumentCommand\MainMiniCartesJeuAleatoire{ O{} m }{%1=options,2=nbcartes
@@ -481,6 +492,7 @@
\setKV[MiniMainAleaCartes]{#1}%
%melange du jeu
\ClearList{MiniCartesJeuMelange}%
+ %Cartes [fr]
\IfStrEq{\MiniMainAleaType}{Poker}%si c'est le poker
{%
\xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuPoker}}%
@@ -511,6 +523,31 @@
\do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
}%
{}%
+ %Cartes [en]
+ \IfStrEq{\MiniMainAleaType}{PokerEN}%si c'est le poker
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuPokerEN}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MiniMainAleaType}{BatailleEN}%si c'est la bataille
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBatailleEN}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MiniMainAleaType}{BeloteEN}%si c'est le belote
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuBeloteEN}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
+ \IfStrEq{\MiniMainAleaType}{RamiEN}%si c'est le rami
+ {%
+ \xintFor* ##1 in {\xintCSVtoList{\MiniCartesJeuRamiEN}}%
+ \do{\InsertRandomItem{MiniCartesJeuMelange}{##1}}%
+ }%
+ {}%
%création de la main
\foreach \i in {1,2,...,#2}{%
\GetItem{MiniCartesJeuMelange}{\inteval{\i-1}}{MiniCarteMainChoisie}%
diff --git a/macros/latex/contrib/postit/README.md b/macros/latex/contrib/postit/README.md
index 23ae2d9f15..8cdc5fec2f 100644
--- a/macros/latex/contrib/postit/README.md
+++ b/macros/latex/contrib/postit/README.md
@@ -1,7 +1,7 @@
-postit is a package to work with post-it.
---------------------------------------------------
-positi est un package pour travailler des post-it.
---------------------------------------------------
+postit is a package to work with post-it with [fr] or [en] syntax.
+---------------------------------------------------------------------------------
+postit est un package pour travailler des post-it avec commandes en [fr] ou [en].
+---------------------------------------------------------------------------------
Author : Cédric Pierquet
email : cpierquet@outlook.fr
Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/macros/latex/contrib/postit/doc/postit-doc-en.pdf b/macros/latex/contrib/postit/doc/postit-doc-en.pdf
new file mode 100644
index 0000000000..808e152c71
--- /dev/null
+++ b/macros/latex/contrib/postit/doc/postit-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/postit/doc/postit-doc-en.tex b/macros/latex/contrib/postit/doc/postit-doc-en.tex
new file mode 100644
index 0000000000..933ecc8390
--- /dev/null
+++ b/macros/latex/contrib/postit/doc/postit-doc-en.tex
@@ -0,0 +1,629 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[english,a4paper,11pt]{article}
+\usepackage[margin=2cm,includefoot]{geometry}
+\def\TPversion{0.1.2}
+\def\TPdate{06/06/2023}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{amsmath,amssymb}
+\usepackage{postit}
+\usepackage{awesomebox}
+\usepackage{fontawesome5}
+\usepackage{footnote}
+\makesavenoteenv{tabular}
+\usepackage{enumitem}
+\usepackage{tabularray}
+\usepackage{wrapstuff}
+\usepackage{lipsum}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [postit]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+%\usepackage{hvlogos}
+\usepackage{hologo}
+\usepackage{xspace}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+\newcommand\TableauDocumentation{%
+ \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
+ {\LARGE \LaTeX} & & & & &\\
+ & {\LARGE \hologo{pdfLaTeX}} & & & & \\
+ & & {\LARGE \hologo{LuaLaTeX}} & & & \\
+ & & & {\LARGE \TikZ} & & \\
+ & & & & {\LARGE \TeXLive} & \\
+ & & & & & {\LARGE \hologo{MiKTeX}} \\
+ \end{tblr}
+}
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\setlength{\parindent}{0pt}
+\definecolor{LightGray}{gray}{0.9}
+
+\usepackage{babel}
+%\AddThinSpaceBeforeFootnotes
+%\FrenchFootnotes
+
+\usepackage{listings}
+
+\usepackage{newverbs}
+\newverbcommand{\motcletex}{\color{cyan!75!black}}{}
+\newverbcommand{\packagetex}{\color{violet!75!black}}{}
+
+\tcbuselibrary{listingsutf8}
+\newtcblisting{DemoCode}[1][]{%
+ enhanced,width=0.95\linewidth,center,%
+ bicolor,size=title,%
+ colback=cyan!2!white,%
+ colbacklower=cyan!1!white,%
+ colframe=cyan!75!black,%
+ listing options={%
+ breaklines=true,%
+ breakatwhitespace=true,%
+ style=tcblatex,basicstyle=\small\ttfamily,%
+ tabsize=4,%
+ commentstyle={\itshape\color{gray}},
+ keywordstyle={\color{blue}},%
+ classoffset=0,%
+ keywords={},%
+ alsoletter={-},%
+ keywordstyle={\color{blue}},%
+ classoffset=1,%
+ alsoletter={-},%
+ morekeywords={center,right,justify,left,\lipsum},%
+ keywordstyle={\color{violet}},%
+ classoffset=2,%
+ alsoletter={-},%
+ morekeywords={PostItNote,\MiniPostIt},%
+ keywordstyle={\color{green!50!black}},%
+ classoffset=3,%
+ morekeywords={Color,PinColor,Pin,Width,Hieght,Rotate,Shadow,Corner,PinShift,AlignH,AlignV,AlignPostIt,Border,ExtraRightMargin,Render,Title,FontTitle},%
+ keywordstyle={\color{orange}}
+ },%
+ #1
+}
+
+\tcbset{vignettes/.style={%
+ nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
+ boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,%
+ }
+}
+
+\tcbset{vignetteMaJ/.style={%
+ fontupper={\vphantom{pf}\footnotesize\ttfamily},
+ vignettes,colframe=purple!50!black,coltitle=white,colback=purple!10,%
+ overlay={\begin{tcbclipinterior}%
+ \fill[fill=purple!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{black}{\scalebox{0.66}[0.66]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);%
+ \end{tcbclipinterior}}
+ }
+}
+
+\newcommand\Cle[1]{{\small\sffamily\textlangle \textcolor{orange}{#1}\textrangle}}
+\newcommand\cmaj[1]{\tcbox[vignetteMaJ]{#1}\xspace}
+
+\begin{document}
+
+\setlength{\aweboxleftmargin}{0.07\linewidth}
+\setlength{\aweboxcontentwidth}{0.93\linewidth}
+\setlength{\aweboxvskip}{8pt}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\vspace{2cm}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{postit} [en]}\\
+ \\
+ {\LARGE Small Post-It notes,} \\
+ \\
+ {\LARGE with \textsf{tcolorbox} or \textsf{Ti\textit{k}Z}.} \\
+ \end{tabular}
+
+ \bigskip
+
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/postit}}
+\end{tabular}
+\end{center}
+
+\vspace{0.25cm}
+
+{$\blacktriangleright$~~Display and customize Post-It or \textit{mini-}Post-It.}
+
+\vspace{0.25cm}
+
+{$\blacktriangleright$~~Custom width, height, rotation, decoration\ldots}
+
+\vspace{1cm}
+
+\begin{PostItNote}<center>
+ This is a small Post-It ! For example \[(a+b)^2=a^2+2ab+b^2.\]
+\end{PostItNote}
+
+\begin{PostItNote}[Render=tikz,Width=8cm,Color=orange,Pin=Paperclip,PinColor=blue,Rotate=-5,AlignPostIt=center,Title={- With a title -},FontTitle={\color{blue!50!black}\bfseries\small\sffamily}]
+\lipsum[1][1-4]
+\end{PostItNote}
+\hfill
+\begin{PostItNote}[Height=6cm,AlignV=center,Color=pink,Pin=Scotch,Rotate=15,Corner,AlignPostIt=center,]
+\lipsum[1][1-4]
+\end{PostItNote}
+
+\vspace{0.5cm}
+
+%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !}
+
+\smallskip
+
+\vfill
+
+\hrule
+
+\medskip
+
+\TableauDocumentation
+
+\medskip
+
+\hrule
+
+\medskip
+
+\newpage
+
+\phantomsection
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vfill
+
+\section{History}
+
+\verb|v0.1.2|~:~~~~English version.
+
+\verb|v0.1.1|~:~~~~\motcletex!\vphantom! for \textit{mini-}Post-It + Bugfixes + \TikZ{} rendering + optional title .
+
+\verb|v0.1.0|~:~~~~Initial version.
+
+\newpage
+
+\section{The package postit}
+
+\subsection{Introduction}
+
+\begin{noteblock}
+The package proposes small Post-It notes, in a \textsf{tex} doc, created with \packagetex!tcolorbox! or \packagetex!tikz!, with option(s) in order to :
+
+\begin{itemize}
+ \item change dimensions orcolor ;
+ \item use pin deocration like Paperclip, Pushpin or Scotch ;
+ \item customize border and/or corner.
+\end{itemize}
+
+The package propose a command to display \textit{mini-}Post-It (created with \motcletex!tcbox!), with color and shadow customization.
+\end{noteblock}
+
+\subsection{Loading of the package, and option}
+
+\begin{importantblock}
+The package Scrabble loads within the preamble.
+
+There's no option, and \packagetex!xcolor! isn't loaded.
+\end{importantblock}
+
+\begin{DemoCode}[listing only]
+\documentclass{article}
+\usepackage{postit}
+
+\end{DemoCode}
+
+\begin{noteblock}
+\packagetex!postit! loads the following packages and libraries :
+
+\begin{itemize}
+ \item \packagetex!tcolorbox! with library \packagetex!tcbox.skins! ;
+ \item \packagetex!tikz! libraries :
+ \begin{itemize}
+ \item \packagetex!tikz.calc! ;
+ \item \packagetex!tikz.decorations! ;
+ \item \packagetex!tikz.decorations.pathmorphing! ;
+ \end{itemize}
+ \item \packagetex!settobox!, \packagetex!xstring! and \packagetex!simplekv!.
+\end{itemize}
+
+It’s mostly compatible with \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} or \textsf{xelatex} compilation !
+\end{noteblock}
+
+\subsection{Compatibility}
+
+\begin{cautionblock}
+If an other package loads \packagetex!tcolorbox!, with \Cle{[most]} option, it's better to load \packagetex!postit! after, to avoid \motcletex!option clash error...!.
+\end{cautionblock}
+
+\begin{DemoCode}[listing only]
+\documentclass{article}
+\usepackage[<librairies>]{tcolorbox}
+\usepackage{postit}
+...
+
+\end{DemoCode}
+
+\vfill~
+
+\pagebreak
+
+\section{Post-It Environment}
+
+\subsection{Environment}
+
+\begin{cautionblock}
+The environment to display a Post-It note is \packagetex!PostItNote!.
+
+It works with keys, between \texttt{[...]} and, with \texttt{<...>}, it's possible to parse options to the \motcletex!tcbox! (not necessary with \motcletex!tikz!) !
+\end{cautionblock}
+
+\begin{DemoCode}[listing only]
+\begin{PostIt}[keys]<options tcbox>
+...
+...
+\end{PostIt}
+\end{DemoCode}
+
+\begin{noteblock}
+As mentionned in the introduction, the Post-It note is create with a \motcletex!tcbox! or a \motcletex!tikzpicture!.
+
+Most of the \motcletex!tcbox!/\motcletex!tikzpicture! parameters are fixed by the code, but some of them are configurable !
+\end{noteblock}
+
+\begin{DemoCode}[]
+%default rendering (tcbox), with lipsum paragraph
+\begin{PostItNote}
+\lipsum[1][1-2]
+\end{PostItNote}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%tikz rendering, with lipsum paragraph
+\begin{PostItNote}[Render=tikz]
+\lipsum[1][1-2]
+\end{PostItNote}
+%tikzv2 rendering, with lipsum paragraph
+\begin{PostItNote}[Render=tikzv2]
+\lipsum[1][1-2]
+\end{PostItNote}
+\end{DemoCode}
+
+\begin{tipblock}
+The colors must be used as \textit{single}, without \textit{mixes} (with \motcletex|CouleurA!...!CouleurB|) proposed by \packagetex!xcolor!.
+
+
+However, every predefined color can be used within the Post-It.
+\end{tipblock}
+
+\begin{tipblock}
+The Post-It can be used with a \motcletex!minipage! or a \motcletex!wrapstuff! if needed.
+
+For horizontal alignement, \motcletex!\hfill! or \motcletex!flush...! can be used.
+\end{tipblock}
+
+\begin{warningblock}
+With a overlapping pin and the \textsf{tcbox} rendering, a vertical spacing before can be necessary, like \motcletex!\vspace! or \motcletex!\bigskip!\ldots
+\end{warningblock}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+The first argument, mandatory and between \texttt{[...]}, proposes the following \Cle{keys} :
+
+\begin{itemize}
+ \item \Cle{Width} : width (in cm) of the Post-It ; \hfill{}default : \Cle{6cm}
+ \item \Cle{Color} : color of the Post-It (border is a bit darker) ; \hfill{}default : \Cle{yellow}
+ \item \Cle{Height} : hieght (in cm, if needed) of the Post-It (\textit{automatic} by default) ;
+
+ \hfill{}default : \Cle{auto}
+ \item \cmaj{0.1.1} \Cle{Render} : engine, within \Cle{tcbox / tikz / tikv2} ; \hfill{}default : \Cle{tcbox}
+ \item \Cle{Rotation} : rotation of the Post-It ; \hfill{}default : \Cle{0}
+ \item \Cle{Shadow} : boolean for shadow ; \hfill{}default : \Cle{true}
+ \item \Cle{Border} : boolean for a thin border ; \hfill{}default : \Cle{true}
+ \item \Cle{Corner} : boolean to the corner decoration (\motcletex!tcbox!) ; \hfill{}default : \Cle{false}
+ \item \Cle{Pin} : decoration, within \Cle{Paperclip / Pushpin / None / Scotch} ;
+
+ \hfill{}default : \Cle{Pushpin}
+ \item \Cle{PinColor} : color of the pin ; \hfill{}default : \Cle{red}
+ \item \Cle{PinsShift} : horizontal shift (without unity, but in cm) of the orginal position of the pin \hfill{}default : \Cle{0}
+ \item \cmaj{0.1.1} \Cle{Title} : add a title (1st line and/or under the pin) ; \hfill{}default : \Cle{empty}
+ \item \cmaj{0.1.1} \Cle{Fonttitle} : font of the titel ; \hfill{}default : \Cle{\textbackslash normalfont\textbackslash normalfont}
+ \item \cmaj{0.1.1} \Cle{ExtraRightMargin} : add (with \packagetex!tikz! rendering, and in cm) à right margin ;
+
+ \hfill{}default : \Cle{0cm}
+ \item \Cle{AlignV} : vertical alignement in the Post-It (within \Cle{top/center/bottom}) ;
+
+ \hfill{}default : \Cle{top}
+ \item \Cle{AlignH} : horizontal alignment in the Post-It (within \Cle{left/center/right/justify}) ;
+
+ \hfill{}default : \Cle{justify}
+ \item \Cle{AlignPostIt} : vertical alignemnt of the Post-It (within \Cle{top/center/bottom}).
+
+ \hfill{}default : \Cle{bottom}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{tipblock}
+The second argument, optional and between \texttt{<...>} is used to parse options to the \motcletex!tcolorbox!.
+
+They can be used to modify locally options not present in the keys.
+\end{tipblock}
+
+\begin{DemoCode}[]
+\begin{PostItNote}%tcbox rendering
+ [Color=cyan,Pin=Paperclip,Width=10cm,Rotate=10]<center,right=1.5cm>
+\lipsum[1][1-3]
+\end{PostItNote}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\hfill\begin{PostItNote}%tikz rendering
+ [Render=tikz,Color=violet,Width=9cm,Rotate=-10,Pin=Paperclip,
+ PinColor=black,ExtraRightMargin=1cm,Title={Small title},
+ FontTitle={\color{white}\bfseries\small\sffamily}]
+\lipsum[1][1-3]
+\end{PostItNote}\hfill~
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\hfill\begin{PostItNote}%tikzv2 rendering
+ [Render=tikzv2,Color=orange,Width=9cm,rotate=-10,Pin=Scotch, Title={Try},
+ FontTitle={\color{blue!50!black}\bfseries\itshape\small\ttfamily}]
+\lipsum[1][1-3]
+\end{PostItNote}\hfill~
+\end{DemoCode}
+
+\pagebreak
+
+\subsection{Examples}
+
+\begin{DemoCode}[]
+%usepackage{wrapstuff}
+\begin{wrapstuff}[r,top=1]
+\begin{PostItNote}[Rotate=5,Corner,Color=pink,PinkColor=blue,Border=false]
+\lipsum[1][1-2]
+\end{PostItNote}
+\end{wrapstuff}
+
+\lipsum[1]
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%usepackage{wrapstuff}
+\begin{wrapstuff}[r,top=1]
+\begin{PostItNote}[Rotate=5,Render=tikz,Color=pink, PinkColor=blue,Border=false]
+\lipsum[1][1-2]
+\end{PostItNote}
+\end{wrapstuff}
+
+\lipsum[1]
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%usepackage{wrapstuff}
+\begin{wrapstuff}[r,top=1]
+\begin{PostItNote}[Rotate=5,Render=tikzv2,Pin=Scotch,Color=pink]
+\lipsum[1][1-2]
+\end{PostItNote}
+\end{wrapstuff}
+
+\lipsum[1]
+\end{DemoCode}
+
+\begin{DemoCode}[]
+A small Post-It, and vertically aligned :
+%
+\hfill\begin{PostItNote}[Rotate=-10,Color=orange,Width=5cm,Height=5cm, AlignV=center,Corner,PinColor=yellow, PinShift=-1,AlignPostIt=center]
+
+\textsf{\small\lipsum[1][1-2]}
+\[\mathsf{\displaystyle\sum_{k=1}^{n} k = \dfrac{n(n+1)}{2}}\]
+\end{PostItNote}
+\end{DemoCode}
+
+\pagebreak
+
+\section{Simple inline Post-It Note}
+
+\subsection{Command}
+
+\begin{cautionblock}
+The inline \textit{mini-}Post-It note is \motcletex!MiniPostIt!.
+
+The only optional paramater for the \motcletex!tcbox! Post-It is the color
+
+\smallskip
+
+Dimensions can't be changed, a \motcletex!\vphantom! is insered at beginning to prevent different heights.
+\end{cautionblock}
+
+\begin{DemoCode}[listing only]
+\MiniPostIt(*)[color]{text}
+\end{DemoCode}
+
+\subsection{Arguments}
+
+\begin{noteblock}
+The starred version show the shadow og the \textit{mini-}Post-It.
+
+The color (\Cle{yellow}), is the only optional argument, between \texttt{[...]}.
+\end{noteblock}
+
+\subsection{Examples}
+
+\begin{DemoCode}[]
+To solve Diophantine equations, we can use \MiniPostIt*[orange]{Bezout's thorem}, and \MiniPostIt{Gauss' theorem}, with the \MiniPostIt*[cyan]{reciprocal}.
+
+It's classic and good to know !
+\end{DemoCode}
+
+\pagebreak
+
+\section{Gallery of styles}
+
+\subsection{Render by tcbox}
+
+\begin{DemoCode}[text only]
+\hfill\begin{PostItNote}
+\texttt{Shadow/PushPin/Border}
+\end{PostItNote}
+\begin{PostIt}[Shadow=false]
+\texttt{Pin/Border}
+\end{PostIt}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Border=false]
+\texttt{Shadow/Pushpin}
+\end{PostItNote}
+\begin{PostItNote}[Border=false,Shadow=false]
+\texttt{Pushpin}
+\end{PostItNote}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Pin=Paperclip]
+\texttt{Shadow/Paperclip/Border}\\
+~
+\end{PostItNote}
+\begin{PostItNote}[Pin=Scotch]
+\texttt{Shadow/Scotch/Border}\\
+~
+\end{PostItNote}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Pin=None]
+\texttt{Shadow/Border}
+\end{PostItNote}
+\begin{PostItNote}[Corner,Pin=None]
+\texttt{Shadow/Border/Corner}
+\end{PostItNote}\hfill~
+
+\vspace{1cm}
+
+\hfill\begin{PostItNote}[Title={Lipsum[1][1-4]},FontTitle={\large\sffamily},Rotate=5,Color=pink,Height=6cm,Pin=Scotch,AlignV=center,Corner]
+\lipsum[1][1-4]
+\end{PostItNote}\hfill~
+\end{DemoCode}
+
+\pagebreak
+
+\subsection{Render by tikz}
+
+\begin{DemoCode}[text only]
+\hfill\begin{PostItNote}[Render=tikz]
+\texttt{Shadow/Pushpin/Border}
+\end{PostItNote}
+\begin{PostItNote}[Shadow=false,Render=tikz]
+\texttt{Pushpin/Border}
+\end{PostItNote}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Border=false,Render=tikz]
+\texttt{Shadow/Pushpin}
+\end{PostItNote}
+\begin{PostItNote}[Border=false,Shadow=false,Render=tikz]
+\texttt{Pushpin}
+\end{PostItNote}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Pin=Paperclip,Render=tikz]
+\texttt{Shadow/Paperclip/Border}\\
+~
+\end{PostItNote}
+\begin{PostItNote}[Pin=Scotch,Render=tikz]
+\texttt{Shadow/Scotch/Border}\\
+~
+\end{PostItNote}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Pin=None,Render=tikz]
+\texttt{Shadow/Border}
+\end{PostItNote}\hfill~
+
+\vspace{1cm}
+
+\hfill\begin{PostItNote}[Render=tikz,Title={Lipsum[1][1-4]},FontTitle={\large\sffamily},Rotate=5,Color=pink,Height=6cm,Pin=Scotch,AlignV=center,Corner]
+\lipsum[1][1-4]
+\end{PostItNote}\hfill~
+\end{DemoCode}
+
+\subsection{Render by tikzv2}
+
+\begin{DemoCode}[text only]
+\hfill\begin{PostItNote}[Render=tikzv2]
+\texttt{Shadow/Pushpin/Border}
+\end{PostItNote}
+\begin{PostItNote}[Shadow=false,Render=tikzv2]
+\texttt{Pushpin/Border}
+\end{PostItNote}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Border=false,Render=tikzv2]
+\texttt{Shadow/Pushpin}
+\end{PostItNote}
+\begin{PostItNote}[Border=false,Shadow=false,Render=tikzv2]
+\texttt{Pushpin}
+\end{PostItNote}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Pin=Paperclip,Render=tikzv2]
+\texttt{Shadow/Paperclip/Border}\\
+~
+\end{PostItNote}
+\begin{PostItNote}[Pin=Scotch,Render=tikzv2]
+\texttt{Shadow/Scotch/Border}\\
+~
+\end{PostItNote}\hfill~
+
+\medskip
+
+\hfill\begin{PostItNote}[Pin=None,Render=tikzv2]
+\texttt{Shadow/Border}
+\end{PostItNote}\hfill~
+
+\vspace{1cm}
+
+\hfill\begin{PostItNote}[Render=tikzv2,Title={Lipsum[1][1-4]},FontTitle={\large\sffamily},Rotate=5,Color=pink,Height=6cm,Pin=Scotch,AlignV=center,Corner]
+\lipsum[1][1-4]
+\end{PostItNote}\hfill~
+\end{DemoCode}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/postit/doc/postit-doc.pdf b/macros/latex/contrib/postit/doc/postit-doc-fr.pdf
index 369fc1219d..cd0466ba1f 100644
--- a/macros/latex/contrib/postit/doc/postit-doc.pdf
+++ b/macros/latex/contrib/postit/doc/postit-doc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/postit/doc/postit-doc.tex b/macros/latex/contrib/postit/doc/postit-doc-fr.tex
index f9ee072286..9cc78fa4ba 100644
--- a/macros/latex/contrib/postit/doc/postit-doc.tex
+++ b/macros/latex/contrib/postit/doc/postit-doc-fr.tex
@@ -4,8 +4,8 @@
\documentclass[french,a4paper,11pt]{article}
\usepackage[margin=2cm,includefoot]{geometry}
-\def\TPversion{0.1.1}
-\def\TPdate{5 juin 2023}
+\def\TPversion{0.1.2}
+\def\TPdate{6 juin 2023}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb}
@@ -128,7 +128,7 @@
\begin{tcolorbox}[colframe=yellow,colback=yellow!15]
\begin{center}
\begin{tabular}{c}
- {\Huge \texttt{postit}}\\
+ {\Huge \texttt{postit} [fr]}\\
\\
{\LARGE Des petits Post-It,} \\
\\
@@ -169,7 +169,7 @@
\lipsum[1][1-4]
\end{PostIt}
\hfill
-\begin{PostIt}[Hauteur=6cm,AlignementV=center,Couleur=pink,Attache=Non,CouleurAttache=blue,Inclinaison=15,Coin,AlignementPostIt=center,Attache=Scotch]
+\begin{PostIt}[Hauteur=6cm,AlignementV=center,Couleur=pink,CouleurAttache=blue,Inclinaison=15,Coin,AlignementPostIt=center,Attache=Scotch]
\lipsum[1][1-4]
\end{PostIt}
@@ -204,6 +204,8 @@
\section{Historique}
+\verb|v0.1.2|~:~~~~Ajout des clés en langue anglaise.
+
\verb|v0.1.1|~:~~~~Ajout d'un \motcletex!\vphantom! pour les \textit{mini-}Post-It (hauteur \textit{uniforme}) + Correction de bugs.
\verb| |~:~~~~Moteurs de rendu alternatif en \TikZ{} + Ajout d'un titre éventuel .
@@ -350,7 +352,7 @@ Le premier argument, optionnel et entre \texttt{[...]}, propose les \Cle{clés}
\item \Cle{Ombre} : booléen pour afficher une ombre portée ; \hfill{}défaut : \Cle{true}
\item \Cle{Bordure} : booléen pour afficher une fine bordure ; \hfill{}défaut : \Cle{true}
\item \Cle{Coin} : booléen pour afficher un coin corné ; \hfill{}défaut : \Cle{false}
- \item \Cle{Attache} : choix de la décoration, parmi \Cle{Trombone / Punaise / Non} ;
+ \item \cmaj{0.1.1} \Cle{Attache} : choix de la décoration, parmi \Cle{Trombone / Punaise / Non / Scotch} ;
\hfill{}défaut : \Cle{Punaise}
\item \Cle{CouleurAttache} : couleur de l'attache ; \hfill{}défaut : \Cle{red}
@@ -471,7 +473,7 @@ Un petit Post-It aligné à droite, et centré verticalement :
\subsection{Commande et fonctionnement global}
\begin{cautionblock}
-La commande dédiée à la création du \textit{mini-}Post-It est \texttt{MiniPostIt}.
+La commande dédiée à la création du \textit{mini-}Post-It est \motcletex!MiniPostIt!.
Elle fonctionne sous forme autonome, avec uniquement la couleur en \Cle{option}.
diff --git a/macros/latex/contrib/postit/tex/postit.sty b/macros/latex/contrib/postit/tex/postit.sty
index 13dbd10ace..eb52909d99 100644
--- a/macros/latex/contrib/postit/tex/postit.sty
+++ b/macros/latex/contrib/postit/tex/postit.sty
@@ -3,7 +3,8 @@
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{postit}[2023/06/05 0.1.1 Utiliser des post-it]
+\ProvidesPackage{postit}[2023/06/06 0.1.2 Display sticky notes in a doc]
+%0.1.2 English version (keys & command)
%0.1.1 Ajout d'un \vphantom pour les mini-post-it + moteur de rendu tikz en supplément
%0.1.0 Version initiale
@@ -30,6 +31,45 @@
\def\HauteurScotch{1}
\def\PostItBorder{0.1mm}
+%======Décorations
+%------Gestion du coin
+\NewDocumentCommand\CoinPostIt{ }{%
+ \path[line width=\PostItBorder,fill=\PostItCoul!66] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2);
+ \path[line width=\PostItBorder,draw=\PostItCoul!50!black,shorten <=-0.05mm,shorten >=-0.05mm,color=\PostItCoul!50!black] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2);
+}
+
+%------Gestion du trombone
+\NewDocumentCommand\TrombonePostIt{ }{%
+ \begin{scope}[shift={([xshift={-1cm+\PostItDeclClip cm}]frame.north east)},rotate=-15,scale={\PostItCoulScaleClip*0.55},line cap=round]
+ \draw[line width=0.81mm,draw=\PostItCoulClip!66] (0,0) --++ (0,0.0) arc (180:0:3.5mm) --++ (0,-1.75) arc (0:-180:3mm) --++ (0,1.25) ;
+ \draw[line width=0.27mm,draw=\PostItCoulClip!33] (0,0) --++ (0,0.0) arc (180:0:3.5mm) --++ (0,-1.75) arc (0:-180:3mm) --++ (0,1.25) ;
+ \end{scope}
+}
+
+%------Gestion du scotch
+\NewDocumentCommand\ScotchPostIt{ }{%
+ \begin{scope}[shift={([xshift=\PostItDeclClip cm]frame.north)},scale={\PostItCoulScaleClip*0.65},line cap=round,rotate=3]
+ \draw[thin,gray!50,fill=lightgray,fill opacity=0.75] ({-0.5*\LargeurStotch},{-0.5*\HauteurScotch}) to ({0.5*\LargeurStotch},{-0.5*\HauteurScotch}) decorate [decoration={zigzag,segment length=2pt,amplitude=0.5pt}] {to ({0.5*\LargeurStotch},{0.5*\HauteurScotch})} to ({-0.5*\LargeurStotch},{0.5*\HauteurScotch}) decorate [decoration={zigzag,segment length=2pt,amplitude=0.5pt}] {to cycle} ;
+ \end{scope}
+}
+
+%------Gestion de la punaise
+\NewDocumentCommand\EpinglePostIt{ }{%
+ \begin{scope}[shift={([xshift=\PostItDeclClip cm,yshift=-0.5cm]frame.north)},scale={\PostItCoulScaleClip*0.55},rotate=-40]
+ \begin{scope}[rotate=-35]
+ \draw[blue!10!gray,line cap=round,line width=2pt] (0,0) -- ++(90:0.85);
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ellipse (.65cm and .3cm) ;
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ++(0,0.4) ellipse (.2 and .4);
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ++(0,0.8) ellipse (.4 and .3);
+ \end{scope}
+ \draw[line cap=round,line width=2pt] (0,0) -- ++(90:0.85);
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ellipse (.65cm and .3cm) ;
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ++(0,0.4) ellipse (.2 and .4);
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ++(0,0.8) ellipse (.4 and .3);
+ \end{scope}
+}
+
+%======[FR]
%------Clés
\defKV[postit]{%
Largeur=\def\PostItLarg{#1},%
@@ -81,43 +121,6 @@
}%
}
-%------Gestion du coin
-\NewDocumentCommand\CoinPostIt{ }{%
- \path[line width=\PostItBorder,fill=\PostItCoul!66] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2);
- \path[line width=\PostItBorder,draw=\PostItCoul!50!black,shorten <=-0.05mm,shorten >=-0.05mm,color=\PostItCoul!50!black] ([yshift=3mm]interior.south east)--++(-0.4,-0.1)--++(0.1,-0.2);
-}
-
-%------Gestion du trombone
-\NewDocumentCommand\TrombonePostIt{ }{%
- \begin{scope}[shift={([xshift={-1cm+\PostItDeclClip cm}]frame.north east)},rotate=-15,scale={\PostItCoulScaleClip*0.55},line cap=round]
- \draw[line width=0.81mm,draw=\PostItCoulClip!66] (0,0) --++ (0,0.0) arc (180:0:3.5mm) --++ (0,-1.75) arc (0:-180:3mm) --++ (0,1.25) ;
- \draw[line width=0.27mm,draw=\PostItCoulClip!33] (0,0) --++ (0,0.0) arc (180:0:3.5mm) --++ (0,-1.75) arc (0:-180:3mm) --++ (0,1.25) ;
- \end{scope}
-}
-
-%------Gestion du scotch
-\NewDocumentCommand\ScotchPostIt{ }{%
- \begin{scope}[shift={([xshift=\PostItDeclClip cm]frame.north)},scale={\PostItCoulScaleClip*0.65},line cap=round,rotate=3]
- \draw[thin,gray!50,fill=lightgray,fill opacity=0.75] ({-0.5*\LargeurStotch},{-0.5*\HauteurScotch}) to ({0.5*\LargeurStotch},{-0.5*\HauteurScotch}) decorate [decoration={zigzag,segment length=2pt,amplitude=0.5pt}] {to ({0.5*\LargeurStotch},{0.5*\HauteurScotch})} to ({-0.5*\LargeurStotch},{0.5*\HauteurScotch}) decorate [decoration={zigzag,segment length=2pt,amplitude=0.5pt}] {to cycle} ;
- \end{scope}
-}
-
-%------Gestion de la punaise
-\NewDocumentCommand\EpinglePostIt{ }{%
- \begin{scope}[shift={([xshift=\PostItDeclClip cm,yshift=-0.5cm]frame.north)},scale={\PostItCoulScaleClip*0.55},rotate=-40]
- \begin{scope}[rotate=-35]
- \draw[blue!10!gray,line cap=round,line width=2pt] (0,0) -- ++(90:0.85);
- \fill[blue!10!gray,scale=0.5] (90:0.85) ellipse (.65cm and .3cm) ;
- \fill[blue!10!gray,scale=0.5] (90:0.85) ++(0,0.4) ellipse (.2 and .4);
- \fill[blue!10!gray,scale=0.5] (90:0.85) ++(0,0.8) ellipse (.4 and .3);
- \end{scope}
- \draw[line cap=round,line width=2pt] (0,0) -- ++(90:0.85);
- \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ellipse (.65cm and .3cm) ;
- \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ++(0,0.4) ellipse (.2 and .4);
- \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ++(0,0.8) ellipse (.4 and .3);
- \end{scope}
-}
-
%------Environnement principal
\NewDocumentEnvironment{PostIt}{ O{} D<>{} +b }%
{%
@@ -576,4 +579,493 @@
IfBooleanTF={#1}{ombreminipostit}{}
}
+%======[EN]
+
+%------Clés
+\defKV[postitnote]{%
+ Width=\def\PostItLarg{#1},%
+ Color=\def\PostItCoul{#1},%
+ PinColor=\def\PostItCoulClip{#1},%
+ PinScale=\def\PostItCoulScaleClip{#1},%
+ Rotate=\def\PostItIncline{#1},%
+ Height=\def\PostItHauteur{#1},%
+ PinShift=\def\PostItDeclClip{#1},%
+ Pin=\def\PostItDeco{#1},%
+ AlignV=\def\PostItAlignV{#1},%
+ AlignH=\def\PostItAlignH{#1},%
+ AlignPostIt=\def\PostItAlignPostIt{#1},%
+ Render=\def\PostItRender{#1},%
+ ExtraRightMargin=\def\PostItExtraMargin{#1},%
+ Title=\def\PostItTitre{#1},%
+ FontTitle=\def\PostItPoliceTitre{#1}
+}
+
+\setKVdefault[postitnote]{%
+ Width=6cm,%
+ Color=yellow,%
+ PinColor=red,%
+ Rotate=0,%
+ PinScale=1,%
+ Shadow=true,%
+ Height=auto,%
+ PinShift=0,%
+ Pin=Pushpin,%
+ AlignV=top,%
+ AlignH=justify,%
+ AlignPostIt=bottom,%
+ Border=true,%
+ Corner=false,%
+ Render=tcbox,%
+ ExtraRightMargin=0cm,%
+ Title={},%
+ FontTitle=\normalfont\normalsize
+}
+
+%------Style principal tcolorbox
+\tcbset{testpostitnote/.style={%
+ on line,enhanced,colframe=\PostItCoul!50!black,boxrule=\PostItBorder,width=\PostItLarg,sharp corners,halign=\PostItAlignH,valign=\PostItAlignV,%
+ %colback=\PostItCoul!50,%
+ finish={\CommandeDecoration},tikz={rotate=\PostItIncline,transform shape},%
+ box align=\PostItAlignPostIt,%
+ interior style={top color=\PostItCoul!50,bottom color=\PostItCoul!33},%
+ nobeforeafter
+ }%
+}
+
+%------Environnement principal
+\NewDocumentEnvironment{PostItNote}{ O{} D<>{} +b }%
+{%
+ \restoreKV[postitnote]%
+ \setKV[postitnote]{#1}%
+ \IfStrEq{\PostItRender}{tcbox}%
+ {%
+ %choix de la déco et paramètrage
+ \def\CommandeDecoration{\EpinglePostIt}%
+ \def\MarginOffsetV{4mm}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {\def\CommandeDecoration{\TrombonePostIt}\def\MarginOffsetV{0mm}}%
+ {}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {\def\CommandeDecoration{\ScotchPostIt}\def\MarginOffsetV{1mm}}%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {\def\CommandeDecoration{}\def\MarginOffsetV{0mm}}%
+ {}%
+ %cas de la bordure
+ \ifboolKV[postitnote]{Border}%
+ {%
+ \def\PostItBorder{0.1mm}%
+ \tcbset{bordure/.style={}}%
+ }%
+ {%
+ \def\PostItBorder{0mm}%
+ \tcbset{bordure/.style={frame hidden}}%
+ }%
+ %cas du coin
+ \ifboolKV[postitnote]{Corner}%
+ {%
+ \tcbset{coincoin/.style={rounded corners=southeast,arc is angular,arc=3mm,underlay={\CoinPostIt}}}%
+ }%
+ {%
+ \tcbset{coincoin/.style={}}%
+ }%
+ %en fonction de hauteur auto ou non
+ \IfStrEq{\PostItHauteur}{auto}%
+ {%
+ \ifboolKV[postitnote]{Shadow}%
+ {\begin{tcolorbox}[testpostitnote,#2,bordure,coincoin,drop fuzzy shadow,top={2mm+\MarginOffsetV}]}%
+ {\begin{tcolorbox}[testpostitnote,#2,bordure,coincoin,top={2mm+\MarginOffsetV}]}%
+ }%
+ {%
+ \ifboolKV[postitnote]{Shadow}%
+ {\begin{tcolorbox}[testpostitnote,#2,bordure,coincoin,drop fuzzy shadow,height=\PostItHauteur,top={2mm+\MarginOffsetV}]}%
+ {\begin{tcolorbox}[testpostitnote,#2,bordure,coincoin,height=\PostItHauteur,top={2mm+\MarginOffsetV}]}%
+ }%
+ \IfStrEq{\PostItTitre}{}%
+ {}%
+ {%
+ \hfill{}{\PostItPoliceTitre\PostItTitre}\hfill~\\%
+ }%
+ #3%
+ \end{tcolorbox}%
+ }{}%
+ \IfStrEq{\PostItRender}{tikz}%
+ {%
+ \StrDel{\PostItLarg}{cm}[\PostItLarg]%
+ \StrDel{\PostItExtraMargin}{cm}[\PostItExtraMargin]%
+ \def\LargeurTextePostIt{\fpeval{\PostItLarg-\MarginHGPostIt-\MarginHDPostIt}}%
+ \def\TextePostIt{%
+ \IfStrEq{\PostItTitre}{}{}{\hfill{}{\PostItPoliceTitre\PostItTitre}\hfill~\\}%
+ #3%
+ }%
+ \IfStrEq{\PostItHauteur}{auto}%
+ {%
+ \sbox{\maboitepostit}{\parbox{\LargeurTextePostIt cm}{\TextePostIt}}%
+ \settoboxtotalheight{\HauteurEssaiTexte}{\maboitepostit}%
+ \addtolength\HauteurEssaiTexte{\MarginVHPostIt}\addtolength\HauteurEssaiTexte{\MarginVBPostIt}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {\addtolength\HauteurEssaiTexte{0.4cm}}%
+ {}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {\addtolength\HauteurEssaiTexte{0.2cm}}%
+ {}%
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {\addtolength\HauteurEssaiTexte{0.6cm}}%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {\addtolength\HauteurEssaiTexte{0.2cm}}%
+ {}%
+ \def\hauteur{\the\HauteurEssaiTexte}%
+ }%
+ {%
+ \def\hauteur{\PostItHauteur}%
+ }%
+ \def\OptionTikzPostIt{current bounding box.south}%
+ \IfStrEq{\PostItAlignPostIt}{center}%
+ {\def\OptionTikzPostIt{current bounding box.center}}{}%
+ \IfStrEq{\PostItAlignPostIt}{top}%
+ {\def\OptionTikzPostIt{current bounding box.north}}{}%
+ \begin{tikzpicture}[baseline=(\OptionTikzPostIt),rotate=\PostItIncline,line join=bevel,line cap=round]
+ %tracé
+ %ombre1/2/3
+ \ifboolKV[postitnote]{Shadow}%
+ {%
+ \draw[draw=none,fill=gray,semithick,fill=gray,fill opacity=0.5]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=104] ++ ($({0.15},{-\hauteur+0.15})+(\OffsetOmbreA,-\OffsetOmbreA)$)
+ to[out=182,in=-2] ++ ({-0.15-\PostItLarg-\PostItExtraMargin},{0.13})
+ -- cycle ;
+ \draw[draw=none,fill=gray!50!black,semithick,fill=gray!50!black,fill opacity=0.5]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=104] ++ ($({0.15},{-\hauteur+0.15})+(\OffsetOmbreB,-\OffsetOmbreB)$)
+ to[out=182,in=-2] ++ ({-0.15-\PostItLarg-\PostItExtraMargin},{0.13})
+ -- cycle ;
+ \draw[draw=none,fill=black,semithick,fill=black,fill opacity=0.5]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=104] ++ ($({0.15},{-\hauteur+0.15})+(\OffsetOmbreC,-\OffsetOmbreC)$)
+ to[out=182,in=-2] ++ ({-0.15-\PostItLarg-\PostItExtraMargin},{0.13})
+ -- cycle ;
+ }%
+ {}%
+ %postit
+ \ifboolKV[postitnote]{Shadow}
+ {%
+ \shadedraw[draw=\PostItCoul!50!black,line width=0.1mm,top color=\PostItCoul!50,bottom color=\PostItCoul!33]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=104] ++ ({0.15},{-\hauteur+0.15})
+ to[out=182,in=-2] ++ ({-0.15-\PostItLarg-\PostItExtraMargin},{0.13})
+ -- cycle ;
+ }%
+ {%
+ \shadedraw[draw=none,top color=\PostItCoul!50,bottom color=\PostItCoul!33]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=104] ++ ({0.15},{-\hauteur+0.15})
+ to[out=182,in=-2] ++ ({-0.15-\PostItLarg-\PostItExtraMargin},{0.13})
+ -- cycle ;
+ }%
+ \IfStrEq{\PostItHauteur}{auto}%
+ {%
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt-0.4cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt-0.2cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ }%
+ {%
+ \IfStrEq{\PostItAlignV}{top}
+ {%
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt-0.4cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt-0.2cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ }%
+ {}%
+ \IfStrEq{\PostItAlignV}{center}
+ {%
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {%
+ \draw ({0.5*\PostItLarg},{-0.5*\hauteur-\MarginVHPostIt-0.2cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {%
+ \draw ({0.5*\PostItLarg},{-0.5*\hauteur}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {%
+ \draw ({0.5*\PostItLarg},{-0.5*\hauteur}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {%
+ \draw ({0.5*\PostItLarg},{-0.5*\hauteur}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ }%
+ {}%
+ \IfStrEq{\PostItAlignV}{bottom}
+ {%
+ \draw ({0.5*\PostItLarg},{-\hauteur}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,above=0.6cm,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ }%
+ %affichage de la punaise
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {%
+ \begin{scope}[shift={(0.5*\PostItLarg+0.5*\PostItExtraMargin+\PostItDeclClip,-0.49)},scale={0.55},rotate=-40]
+ \begin{scope}[rotate=-35]
+ \draw[blue!10!gray,line cap=round,line width=2pt] (0,0) -- ++(90:0.85);
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ellipse (.65cm and .3cm) ;
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ++(0,0.4) ellipse (.2 and .4);
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ++(0,0.8) ellipse (.4 and .3);
+ \end{scope}
+ \draw[line cap=round,line width=2pt] (0,0) -- ++(90:0.85);
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ellipse (.65cm and .3cm) ;
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ++(0,0.4) ellipse (.2 and .4);
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ++(0,0.8) ellipse (.4 and .3);
+ \end{scope}
+ }%
+ {}%
+ %affichage du trombone
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {%
+ \begin{scope}[shift={(\PostItLarg+\PostItExtraMargin-1+\PostItDeclClip,0)},rotate=-15,scale={\PostItCoulScaleClip*0.55},line cap=round]
+ \draw[line width=0.81mm,draw=\PostItCoulClip!66] (0,0) --++ (0,0.0) arc (180:0:3.5mm) --++ (0,-1.75) arc (0:-180:3mm) --++ (0,1.25) ;
+ \draw[line width=0.27mm,draw=\PostItCoulClip!33] (0,0) --++ (0,0.0) arc (180:0:3.5mm) --++ (0,-1.75) arc (0:-180:3mm) --++ (0,1.25) ;
+ \end{scope}
+ }%
+ {}%
+ %affichage du scotch
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {%
+ \begin{scope}[shift={(0.5*\PostItLarg+0.5*\PostItExtraMargin+\PostItDeclClip,0)},scale={0.65},rotate=3,line cap=round]
+ \draw[thin,gray!50,fill=lightgray,fill opacity=0.75] ({-0.5*\LargeurStotch},{-0.5*\HauteurScotch}) to ({0.5*\LargeurStotch},{-0.5*\HauteurScotch}) decorate [decoration={zigzag,segment length=2pt,amplitude=0.5pt}] {to ({0.5*\LargeurStotch},{0.5*\HauteurScotch})} to ({-0.5*\LargeurStotch},{0.5*\HauteurScotch}) decorate [decoration={zigzag,segment length=2pt,amplitude=0.5pt}] {to cycle} ;
+ \end{scope}
+ }%
+ {}%
+ \end{tikzpicture}%
+ }{}%
+ \IfStrEq{\PostItRender}{tikzv2}%
+ {%
+ \StrDel{\PostItLarg}{cm}[\PostItLarg]%
+ \StrDel{\PostItExtraMargin}{cm}[\PostItExtraMargin]%
+ \def\LargeurTextePostIt{\fpeval{\PostItLarg-\MarginHGPostIt-\MarginHDPostIt}}%
+ \def\TextePostIt{%
+ \IfStrEq{\PostItTitre}{}{}{\hfill{}{\PostItPoliceTitre\PostItTitre}\hfill~\\}%
+ #3%
+ }%
+ \IfStrEq{\PostItHauteur}{auto}%
+ {%
+ \sbox{\maboitepostit}{\parbox{\LargeurTextePostIt cm}{\TextePostIt}}%
+ \settoboxtotalheight{\HauteurEssaiTexte}{\maboitepostit}%
+ \addtolength\HauteurEssaiTexte{\MarginVHPostIt}\addtolength\HauteurEssaiTexte{\MarginVBPostIt}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {\addtolength\HauteurEssaiTexte{0.4cm}}%
+ {}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {\addtolength\HauteurEssaiTexte{0.2cm}}%
+ {}%
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {\addtolength\HauteurEssaiTexte{0.6cm}}%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {\addtolength\HauteurEssaiTexte{0.2cm}}%
+ {}%
+ \def\hauteur{\the\HauteurEssaiTexte}%
+ }%
+ {%
+ \def\hauteur{\PostItHauteur}%
+ }%
+ \def\OptionTikzPostIt{current bounding box.south}%
+ \IfStrEq{\PostItAlignPostIt}{center}%
+ {\def\OptionTikzPostIt{current bounding box.center}}{}%
+ \IfStrEq{\PostItAlignPostIt}{top}%
+ {\def\OptionTikzPostIt{current bounding box.north}}{}%
+ \begin{tikzpicture}[baseline=(\OptionTikzPostIt),rotate=\PostItIncline,line join=bevel,line cap=round]
+ %tracé
+ %ombre1/2/3
+ \ifboolKV[postitnote]{Shadow}%
+ {%
+ \draw[draw=none,fill=gray,semithick,fill=gray,fill opacity=0.5]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=91] ++ ($({0.05},{-\hauteur-0.05})+(2pt,-2pt)$)
+ --++ ($({-\PostItLarg-\PostItExtraMargin-0.1},{0})+(-4pt,0)$)
+ to[out=89,in=-90] (0,0) ;
+ \draw[draw=none,fill=gray!50!black,semithick,fill=gray!50!black,fill opacity=0.5]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=91] ++ ($({0.05},{-\hauteur-0.05})+(1.25pt,-1.25pt)$)
+ --++ ($({-\PostItLarg-\PostItExtraMargin-0.1},{0})+(-2.5pt,0)$)
+ to[out=89,in=-90] (0,0) ;
+ \draw[draw=none,fill=black,semithick,fill=black,fill opacity=0.5]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=91] ++ ($({0.05},{-\hauteur-0.05})+(0.5pt,-0.5pt)$)
+ --++ ($({-\PostItLarg-\PostItExtraMargin-0.1},{0})+(-1pt,0)$)
+ to[out=89,in=-90] (0,0) ;
+ }%
+ {}%
+ %postit
+ \ifboolKV[postitnote]{Border}
+ {%
+ \shadedraw[draw=\PostItCoul!50!black,line width=0.1mm,top color=\PostItCoul!50,bottom color=\PostItCoul!33]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=91] ++ ({0.05},{-\hauteur-0.05})
+ --++ ({-\PostItLarg-\PostItExtraMargin-0.1},{0})
+ to[out=89,in=-90] (0,0) ;
+ }%
+ {%
+ \shadedraw[draw=none,top color=\PostItCoul!50,bottom color=\PostItCoul!33]
+ (0,0) --++ ({\PostItLarg+\PostItExtraMargin},0)
+ to[out=-90,in=91] ++ ({0.05},{-\hauteur-0.05})
+ --++ ({-\PostItLarg-\PostItExtraMargin-0.1},{0})
+ to[out=89,in=-90] (0,0) ;
+ }%
+ \IfStrEq{\PostItHauteur}{auto}%
+ {%
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt-0.4cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt-0.2cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ }%
+ {%
+ \IfStrEq{\PostItAlignV}{top}
+ {%
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt-0.4cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {%
+ \draw ({0.5*\PostItLarg},{-\MarginVHPostIt-0.2cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,below,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ }%
+ {}%
+ \IfStrEq{\PostItAlignV}{center}
+ {%
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {%
+ \draw ({0.5*\PostItLarg},{-0.5*\hauteur-\MarginVHPostIt-0.2cm}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{None}%
+ {%
+ \draw ({0.5*\PostItLarg},{-0.5*\hauteur}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {%
+ \draw ({0.5*\PostItLarg},{-0.5*\hauteur}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {%
+ \draw ({0.5*\PostItLarg},{-0.5*\hauteur}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ }%
+ {}%
+ \IfStrEq{\PostItAlignV}{bottom}
+ {%
+ \draw ({0.5*\PostItLarg},{-\hauteur}) node[text width=\LargeurTextePostIt cm,rotate=\PostItIncline,above=0.6cm,align=\PostItAlignH,inner sep=0pt] {\TextePostIt} ;
+ }%
+ {}%
+ }%
+ %affichage de la punaise
+ \IfStrEq{\PostItDeco}{Pushpin}%
+ {%
+ \begin{scope}[shift={(0.5*\PostItLarg+0.5*\PostItExtraMargin+\PostItDeclClip,-0.49)},scale={0.55},rotate=-40]
+ \begin{scope}[rotate=-35]
+ \draw[blue!10!gray,line cap=round,line width=2pt] (0,0) -- ++(90:0.85);
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ellipse (.65cm and .3cm) ;
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ++(0,0.4) ellipse (.2 and .4);
+ \fill[blue!10!gray,scale=0.5] (90:0.85) ++(0,0.8) ellipse (.4 and .3);
+ \end{scope}
+ \draw[line cap=round,line width=2pt] (0,0) -- ++(90:0.85);
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ellipse (.65cm and .3cm) ;
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ++(0,0.4) ellipse (.2 and .4);
+ \fill[ball color=\PostItCoulClip!66,scale=0.5] (90:0.85) ++(0,0.8) ellipse (.4 and .3);
+ \end{scope}
+ }%
+ {}%
+ %affichage du trombone
+ \IfStrEq{\PostItDeco}{Paperclip}%
+ {%
+ \begin{scope}[shift={(\PostItLarg+\PostItExtraMargin-1+\PostItDeclClip,0)},rotate=-15,scale={\PostItCoulScaleClip*0.55},line cap=round]
+ \draw[line width=0.81mm,draw=\PostItCoulClip!66] (0,0) --++ (0,0.0) arc (180:0:3.5mm) --++ (0,-1.75) arc (0:-180:3mm) --++ (0,1.25) ;
+ \draw[line width=0.27mm,draw=\PostItCoulClip!33] (0,0) --++ (0,0.0) arc (180:0:3.5mm) --++ (0,-1.75) arc (0:-180:3mm) --++ (0,1.25) ;
+ \end{scope}
+ }%
+ {}%
+ %affichage du scotch
+ \IfStrEq{\PostItDeco}{Scotch}%
+ {%
+ \begin{scope}[shift={(0.5*\PostItLarg+0.5*\PostItExtraMargin+\PostItDeclClip,0)},scale={0.65},rotate=3,line cap=round]
+ \draw[thin,gray!50,fill=lightgray,fill opacity=0.75] ({-0.5*\LargeurStotch},{-0.5*\HauteurScotch}) to ({0.5*\LargeurStotch},{-0.5*\HauteurScotch}) decorate [decoration={zigzag,segment length=2pt,amplitude=0.5pt}] {to ({0.5*\LargeurStotch},{0.5*\HauteurScotch})} to ({-0.5*\LargeurStotch},{0.5*\HauteurScotch}) decorate [decoration={zigzag,segment length=2pt,amplitude=0.5pt}] {to cycle} ;
+ \end{scope}
+ }%
+ {}%
+ \end{tikzpicture}%
+ }{}%
+}%
+{}%
+
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tagpdf/README.md b/macros/latex/contrib/tagpdf/README.md
index 52a80b7f48..5b4a1b211f 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.98g
-Packagedate: 2023/05/16
+Packageversion: 0.98h
+Packagedate: 2023/06/06
Author: Ulrike Fischer
## License
diff --git a/macros/latex/contrib/tagpdf/tagpdf-backend.dtx b/macros/latex/contrib/tagpdf/tagpdf-backend.dtx
index 2f0e0fa8b9..5b6acbf34f 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*luatex>
-\ProvidesExplFile {tagpdf-luatex.def} {2023-05-16} {0.98g}
+\ProvidesExplFile {tagpdf-luatex.def} {2023-06-06} {0.98h}
{tagpdf~driver~for~luatex}
% \end{macrocode}
% \section{Loading the lua}
@@ -158,8 +158,8 @@
local ProvidesLuaModule = {
name = "tagpdf",
- version = "0.98g", --TAGVERSION
- date = "2023-05-16", --TAGDATE
+ version = "0.98h", --TAGVERSION
+ date = "2023-06-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 830e667b52..39b786ee41 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{documentation}
% \section{Commands}
@@ -151,6 +151,11 @@
% & error
% & in struct module
% \\
+% |\@@_struct_write_obj:n|
+% & |struct-orphan|
+% & warning
+% & in struct module
+% \\
% |\tag_struct_begin:n|
% & |struct-faulty-nesting|
% & error
@@ -295,7 +300,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-checks-code} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-checks-code} {2023-06-06} {0.98h}
{part of tagpdf - code related to checks, conditionals, debugging and messages}
%</header>
% \end{macrocode}
@@ -370,6 +375,19 @@
\msg_new:nnn { tag } {struct-no-objnum} { objnum~missing~for~structure~#1 }
% \end{macrocode}
% \end{macro}
+% \begin{macro}{struct-orphan}
+% This indicates that there is a structure which has kids but no parent.
+% This can happen if a structure is stashed but then not used.
+% \begin{macrocode}
+\msg_new:nnn { tag } {struct-orphan}
+ {
+ Structure~#1~has~#2~kids~but~no~parent.\\
+ It~is~turned~into~an~artifact.\\
+ Did~you~stashed~a~structure~and~then~didn't~use~it?
+ }
+
+% \end{macrocode}
+% \end{macro}
% \begin{macro}{struct-faulty-nesting}
% This indicates that there is somewhere one |\tag_struct_end:| too much.
% This should be normally an error.
diff --git a/macros/latex/contrib/tagpdf/tagpdf-code.pdf b/macros/latex/contrib/tagpdf/tagpdf-code.pdf
index 96903459f9..8fd8bc7541 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-data.dtx b/macros/latex/contrib/tagpdf/tagpdf-data.dtx
index b2955c8a94..e66712cc7f 100644
--- a/macros/latex/contrib/tagpdf/tagpdf-data.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf-data.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{documentation}
% This files contains a various data files which are read in
@@ -60,7 +60,7 @@
% It lists the new tag, the rolemap and the namespace of the rolemap.
% \begin{macrocode}
%<*ns-latex>
-%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-05-16} {0.98g}
+%% \ProvidesExplFile {tagpdf-ns-latex.def} {2023-06-06} {0.98h}
%% {latex} {https://www.latex-project.org/ns/dflt/2022}{}
title, Title, pdf2,
part, Title, pdf2,
@@ -92,7 +92,7 @@ text, P, pdf2,
% It is bound to change
% \begin{macrocode}
%<*ns-latex-book>
-%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-05-16} {0.98g}
+%% \ProvidesExplFile {tagpdf-ns-latex-book.def} {2023-06-06} {0.98h}
%% {latex-book} {https://www.latex-project.org/ns/book/2022}{}
chapter, H1,pdf2,
section, H2,pdf2,
@@ -108,7 +108,7 @@ subparagraph, H6,pdf2,
% It is bound to change a lot!
% \begin{macrocode}
%<*ns-latex-inline>
-%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-05-16} {0.98g}
+%% \ProvidesExplFile {tagpdf-ns-latex-inline.def} {2023-06-06} {0.98h}
%% {latex-inline} {https://www.latex-project.org/ns/inline/2022}{}
chapter, Span, pdf2,
section, Span, pdf2,
@@ -122,7 +122,7 @@ P, Span, pdf2,
% \section{The pdf namespace data}
% \begin{macrocode}
%<*ns-pdf>
-%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-05-16} {0.98g}
+%% \ProvidesExplFile {tagpdf-ns-pdf.def} {2023-06-06} {0.98h}
%% {pdf} {http://iso.org/pdf/ssn}{}
StructTreeRoot,StructTreeRoot,pdf,D,
Document,Document,pdf,D,
@@ -190,7 +190,7 @@ Strong,Span,pdf,I,
% \section{The pdf 2.0 namespace data}
% \begin{macrocode}
%<*ns-pdf2>
-%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-05-16} {0.98g}
+%% \ProvidesExplFile {tagpdf-ns-pdf2.def} {2023-06-06} {0.98h}
%% {pdf2} {http://iso.org/pdf2/ssn}{}
Document,Document,pdf2,D,
Part,Part,pdf2,G,
@@ -246,7 +246,7 @@ Strong,Strong,pdf2,I,
% \section{The mathml namespace data}
% \begin{macrocode}
%<*ns-mathml>
-%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-05-16} {0.98g}
+%% \ProvidesExplFile {tagpdf-ns-mathml.def} {2023-06-06} {0.98h}
% {mathml}{http://www.w3.org/1998/Math/MathML}{}
abs,abs,mathml,
and,and,mathml,
@@ -481,7 +481,7 @@ xor,xor,mathml,
% This will perhaps change in future.
% \begin{macrocode}
%<*parent-child>
-%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-05-16} {0.98g}
+%% \ProvidesExplFile {tagpdf-parent-child.csv} {2023-06-06} {0.98h}
,,,StructTreeRoot,Document,Art,Part,Div,Sect,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,MC
Document,both,document level,1,0..n,∅,‡,‡,∅,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅
Art,1.7,grouping,∅,0..n,∅,‡,‡,0..n,0..n,‡,∅,∅,∅,0..n,∅,0..n,∅,∅,∅,0..1,0..1,∅,∅,∅,0..n,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅,∅,0..n,0..n,∅,∅,∅,0..n,0..n,∅,∅
@@ -536,7 +536,7 @@ MC,both,---,∅,∅,∅,∅,∅,∅,0..n,‡,∅,∅,∅,0..n,0..n,0..n,0..n,0..
% This will perhaps change in future.
% \begin{macrocode}
%<*parent-child-2>
-%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-05-16} {0.98g}
+%% \ProvidesExplFile {tagpdf-parent-child-2.csv} {2023-06-06} {0.98h}
,,,StructTreeRoot,Document,DocumentFragment,Art,Part,Div,Sect,Aside,BlockQuote,NonStruct,TOC,TOCI,Index,Private,Title,Sub,Quote,Note,Reference,BibEntry,P,Hn,H,Lbl,Code,Em,Strong,Span,Link,Annot,Form,Ruby,RB,RT,RP,Warichu,WT,WP,FENote,L,LI,LBody,Table,TR,TH,TD,THead,TBody,TFoot,Caption,Figure,Formula,math,mathml,Artifact,MC
Document,both,document level,1,0..n,0..n,∅,‡,‡,∅,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,0..n,∅
DocumentFragment,2.0,document level,∅,0..n,0..n,0..n,‡,‡,0..n,0..n,0..n,‡,∅,∅,∅,0..n,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅*,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅,∅*,∅,∅,∅,∅,0..n,∅
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
index 68479088a5..a82cb68524 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{documentation}
% \end{documentation}
@@ -55,11 +55,11 @@
% \begin{macrocode}
%<@@=tag>
%<*generic>
-\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-mc-code-generic} {2023-06-06} {0.98h}
{part of tagpdf - code related to marking chunks - generic mode}
%</generic>
%<*debug>
-\ProvidesExplPackage {tagpdf-debug-generic} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-debug-generic} {2023-06-06} {0.98h}
{part of tagpdf - debugging code related to marking chunks - generic mode}
%</debug>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
index a4f61192df..cf70950a28 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-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} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-mc-code-lua} {2023-06-06} {0.98h}
{tagpdf - mc code only for the luamode }
%</luamode>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx b/macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
index cdc0aaa5a3..2096e11d30 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -174,7 +174,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-mc-code-shared} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-mc-code-shared} {2023-06-06} {0.98h}
{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 ce860d71fa..5876c4ba32 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{documentation}
% \begin{function}
@@ -98,7 +98,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-roles-code} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-roles-code} {2023-06-06} {0.98h}
{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 e8c1edfd5c..6e751618ee 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{documentation}
% \begin{function}{interwordspace (setup-key)}
@@ -64,7 +64,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-space-code} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-space-code} {2023-06-06} {0.98h}
{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 81211bd445..542671bd15 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{documentation}
% \section{Public Commands}
@@ -247,7 +247,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-struct-code} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-struct-code} {2023-06-06} {0.98h}
{part of tagpdf - code related to storing structure}
%</header>
% \end{macrocode}
@@ -837,16 +837,35 @@
{
\pdf_object_if_exist:nTF { @@/struct/#1 }
{
+% \end{macrocode}
+% It can happen that a structure is not used and so has not parent.
+% Simply ignoring it is problematic as it is also recorded in
+% the IDTree, so we make an artifact out of it.
+% \begin{macrocode}
+ \prop_get:cnNF { g_@@_struct_#1_prop } {P}\l_@@_tmpb_tl
+ {
+ \prop_gput:cnx { g_@@_struct_#1_prop } {P}{\pdf_object_ref:n { @@/struct/0 }}
+ \prop_gput:cnx { g_@@_struct_#1_prop } {S}{/Artifact}
+ \seq_if_empty:cF {g_@@_struct_kids_#1_seq}
+ {
+ \msg_warning:nnxx
+ {tag}
+ {struct-orphan}
+ { #1 }
+ {\seq_count:c{g_@@_struct_kids_#1_seq}}
+ }
+ }
\@@_struct_fill_kid_key:n { #1 }
\@@_struct_get_dict_content:nN { #1 } \l_@@_tmpa_tl
\exp_args:Nx
- \pdf_object_write:nnx
- { @@/struct/#1 }
- {dict}
- {
- \l_@@_tmpa_tl\c_space_tl
- /ID~\@@_struct_get_id:n{#1}
- }
+ \pdf_object_write:nnx
+ { @@/struct/#1 }
+ {dict}
+ {
+ \l_@@_tmpa_tl\c_space_tl
+ /ID~\@@_struct_get_id:n{#1}
+ }
+
}
{
\msg_error:nnn { tag } { struct-no-objnum } { #1}
@@ -1470,6 +1489,10 @@
{
\tl_gset:Nx \g_@@_struct_tag_tl
{ \exp_last_unbraced:NV\use_i:nn \l_@@_tmpa_tl }
+ \prop_get:NVNT\g_@@_role_tags_NS_prop \g_@@_struct_tag_tl\l_@@_tmpa_tl
+ {
+ \tl_gset:Nx \g_@@_struct_tag_NS_tl { \l_@@_tmpa_tl }
+ }
}
%<debug>\@@_debug_struct_end_insert:
}
@@ -1703,7 +1726,7 @@
% \section{Attributes and attribute classes}
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage {tagpdf-attr-code} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-attr-code} {2023-06-06} {0.98h}
{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 decc64928f..61f6db544a 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{implementation}
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-tree-code} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-tree-code} {2023-06-06} {0.98h}
{part of tagpdf - code related to writing trees and dictionaries to the pdf}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf-user.dtx b/macros/latex/contrib/tagpdf/tagpdf-user.dtx
index 36da045bba..8ebd1813dd 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.98g, released 2023-05-16}
+% \date{Version 0.98h, released 2023-06-06}
% \maketitle
% \begin{documentation}
% \section{Setup commands}
@@ -68,7 +68,7 @@
% \begin{syntax}
% \cs{tag_tool:n}\Arg{key val}
% \end{syntax}
-% The tagging of basic document elements will require a variaty of small commands
+% The tagging of basic document elements will require a variety of small commands
% to configure and adapt the tagging. This command will collect them under a command
% interface. The argument is \emph{one} key-value like string. This is work in progress
% and both syntax, known arguments and implementation can change!
@@ -250,7 +250,7 @@
% \begin{macrocode}
%<@@=tag>
%<*header>
-\ProvidesExplPackage {tagpdf-user} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-user} {2023-06-06} {0.98h}
{tagpdf - user commands}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf.dtx b/macros/latex/contrib/tagpdf/tagpdf.dtx
index e9a394b5d4..b4c9e55090 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.dtx
+++ b/macros/latex/contrib/tagpdf/tagpdf.dtx
@@ -92,7 +92,7 @@
% \begin{macrocode}
%<@@=tag>
%<*package>
-\ProvidesExplPackage {tagpdf} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf} {2023-06-06} {0.98h}
{ A package to experiment with pdf tagging }
\bool_if:nF
@@ -118,7 +118,7 @@
% \end{macrocode}
%<*debug>
% \begin{macrocode}
-\ProvidesExplPackage {tagpdf-debug} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-debug} {2023-06-06} {0.98h}
{ debug code for tagpdf }
\@ifpackageloaded{tagpdf}{}{\PackageWarning{tagpdf-debug}{tagpdf~not~loaded,~quitting}\endinput}
% \end{macrocode}
@@ -141,7 +141,7 @@
% we define a base package with dummy functions
% \begin{macrocode}
%<*base>
-\ProvidesExplPackage {tagpdf-base} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdf-base} {2023-06-06} {0.98h}
{part of tagpdf - provide base, no-op versions of the user commands }
%</base>
% \end{macrocode}
diff --git a/macros/latex/contrib/tagpdf/tagpdf.pdf b/macros/latex/contrib/tagpdf/tagpdf.pdf
index f5f890701e..a75c6a78db 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 cc3295488e..27cd1d128d 100644
--- a/macros/latex/contrib/tagpdf/tagpdf.tex
+++ b/macros/latex/contrib/tagpdf/tagpdf.tex
@@ -10,35 +10,33 @@
\DocumentMetadata
{
% comment the following line to compile an untagged documentation:
- testphase=phase-III,testphase=graphics,
+ testphase=phase-III,
pdfversion=2.0,lang=en-UK,pdfstandard=a-4,
+ %uncompress
}
\DebugBlocksOff
\makeatletter
-\def\UlrikeFischer@package@version{0.98g}
-\def\UlrikeFischer@package@date{2023-05-16}
+\def\UlrikeFischer@package@version{0.98h}
+\def\UlrikeFischer@package@date{2023-06-06}
\makeatother
-\documentclass[DIV=12,parskip=half-,bibliography=totoc,a4paper]{article}
+\documentclass[bibliography=totoc,a4paper]{article}
\usepackage{geometry}
\usepackage[english]{babel}
\usepackage{unicode-math}
\setmainfont{Heuristica}
\usepackage[nopatch]{microtype}
-\makeatletter
-% see https://github.com/schlcht/microtype/issues/8
-%\patchcmd{\MT@get@prot}{\noindent}{\RawNoindent}{}{\fail}
-\makeatother
-%\usepackage{scrlayer-scrpage}
\usepackage[autostyle]{csquotes}
-\usepackage[style=numeric,hyperref=false]{biblatex}
+\usepackage[style=numeric]{biblatex}
\addbibresource{tagpdf.bib}
\usepackage[noparboxrestore]{marginnote}
-\makeatletter \renewcommand*{\mn@parboxrestore}{\tagpdfparaOff}%
+\makeatletter
+\renewcommand*{\mn@parboxrestore}{\tagpdfparaOff}%
+\makeatother
\reversemarginpar
\usepackage{tcolorbox}
@@ -89,11 +87,6 @@
\usepackage{tagpdfdocu-patches}
-
-%\cfoot*{\pagemark}
-
-%
-
\newcommand\PDF{PDF}
\title{The \pkg{tagpdf} package, v\csname UlrikeFischer@package@version\endcsname}
@@ -128,12 +121,12 @@ This package is not meant for normal document production. It is mainly a tool to
tagging.
You need a very current \LaTeX{} format.
- You need a very current L3 programming layer.
- You need the new \LaTeX{} PDF management bundle.
+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. 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.
+At some time it will disappear when the code has been integrated into the \LaTeX{} format.
This package can change in an incompatible way.
@@ -160,45 +153,47 @@ Issues, comments, suggestions should be added as issues to the github tracker:
\section{Introduction}
-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.
+Since many years the creation of accessible, tagged \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 web page \parencite{tugaccess} dedicated to this theme.
+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, means to try out how core \LaTeX\ commands behave if tagging is used. Without such experiments it is in my opinion
+quite difficult to get a feeling about what has to be done, which kernel changes are needed, how packages should be adapted.
-This package were developped to close this gap by offering \emph{core} commands to tag a \PDF{}%
+This package was developed 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 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.
-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.
-
+The code has been written so that it can be added as module to the \LaTeX{} kernel itself if it turns out to be usable.
+It therefore avoid to 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
+these changes should 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 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.
+now structure destinations. More changes are in the latex-lab bundle and can be loaded through testphase keys.
-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}.
+I'm sure that tagpdf 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.
+Please also check the github site and latex-lab for new examples and improvements.
\subsection{Tagging and accessibility}
-While the package is named \texttt{tagpdf} the goal is actually \emph{accessible} \PDF{}-files. Tagging is \emph{one} requirement for accessibility but there are others. I will mention some later on in this documentation, and -- if sensible -- I will also try to add code, keys or tips for them.
+While the package is named \texttt{tagpdf} the goal is also \emph{accessible} \PDF{}-files. Tagging is \emph{one} (the most difficult) requirement for accessibility but there are others. I will mention some later on in this documentation, and -- if sensible -- I will also try to add code, keys or tips for them.
So the name of the package is a bit wrong. As excuse I can only say that it is shorter and easier to pronounce.
\subsection{Engines and modes}
-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 works theoretically with all engines,
+but the xelatex and the latex-dvips-route are basically untested tested and they also don't support
+real space glyphs so I don't recommend them.
+lualatex is the most powerful and safe modus and should be used for new documents, it is slower than pdflatex but requires less compilations to get tagging. pdflatex works ok and can be used for legacy documents; it needs more compilations to resolve all cross references needed for the tagging.
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.
-I implemented the generic mode first. Mostly because my tex skills are much better than my lua skills and I wanted to get the tex side right before starting to fight with attributes and node traversing.
+I implemented the generic mode first. Mostly because my \TeX\ skills are much better than my lua skills and I wanted to get the \TeX\ side right before starting to fight with attributes and node traversing.
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.
@@ -208,18 +203,37 @@ at best at least once or twice more often then normal.
\subsection{References and target PDF version}
-My main reference for the first versions of this package
-was the free reference for \PDF{} 1.7. \parencite{pdfreference} and so the package also targetted this version.
+My main reference for the first versions of this package was the free
+reference for \PDF{} 1.7. \parencite{pdfreference} and so the first versions
+of the package implemented only \PDF{} 1.7.
+
+In 2018 \PDF{} 2.0. has been released. The reference can be bought at no cost
+through the PDF association.
+
+\PDF{} 2.0 has a number of features that are really needed for good tagging:
+it knows more structure types, it allows to add associated files to
+structures---these are small, embedded files which can for example contain
+the mathML or source code of an equation---, it knows structure destinations
+which allows to link to a structure.
+
-In 2018 \PDF{} 2.0. has been released, and since 2020 all engines can set the version to 2.0. So the package will
-now target \PDF{} 2.0. This doesn't mean that 2.0 will be required, but that the code and the options will be extended to
-support \PDF{} 2.0. One example is the support for associated files, another the support for name spaces in version 0.82.
+\PDF{}~2.0 features are currently (mid 2023) not well supported by
+\PDF~consumer. No PDF viewer (including Acrobat) for example can handle name
+spaces and associated files. PAC~3 even crashes if one tries to load a \PDF{}
+2.0 file, and pdftk will create a \PDF{}~1.0 from it.
-The package doesn't try to suppress all 2.0 features if an older \PDF{} version is produced. It normally doesn't harm if a \PDF{} contains keys unknown in its version and it makes the code faster and easier to maintain if there aren't too many tests and code pathes; so for example associated files will always be added. But tests could be added in case this leads to incompabilities.
+Nevertheless \LaTeX{} targets \PDF{} 2.0, tagpdf has added support for
+associated files, for name spaces and other \PDF{} 2.0 features tagpdf and we
+recommend to use \PDF{} 2.0 if possible and then to complain to the PDF{}
+consumer if something doesn't work.
+
+The package doesn't try to suppress all 2.0 features if an older \PDF{}
+version is produced. It normally doesn't harm if a \PDF{} contains keys
+unknown in its version and it makes the code faster and easier to maintain if
+there aren't too many tests and code pathes; so for example associated files
+will always be added. But tests could be added in case this leads to
+incompabilities.
-It should be noted that some tools don't like \PDF{}~2.0. PAC~3 for example
-simply crashes, and pdftk will create a \PDF{}~1.0 from it. This makes
-testing \PDF{}~2.0 files a bit of a challenge.
\subsection{Validation}
@@ -228,11 +242,14 @@ testing \PDF{}~2.0 files a bit of a challenge.
\begin{itemize}
\item
- One must check that the \PDF{} is \emph{syntactically} correct. It is rather easy to create broken \PDF{}:
- e.g. if a chunk is opened on one page but closed on the next page or if the document isn't compiled often enough.
+ One must check that the \PDF{} is \emph{syntactically} correct.
+ It is rather easy to create broken \PDF{}:
+ e.g. if a chunk is opened on one page but closed
+ on the next page or if the document isn't compiled often enough.
-\item
-One must check how good the requirements of the PDF/UA standard are followed \emph{formally}.
+\item One must check how good the requirements of the PDF/UA standard are
+ followed \emph{formally}\footnote{The PDF/UA-2 standard for \PDF~2.0
+ will hopefully be released in 2023}.
\item
One must check how good the accessibility is \emph{practically}.
@@ -241,26 +258,33 @@ One must check how good the accessibility is \emph{practically}.
Syntax validation and formal standard validation can be done with preflight
of the (non-free) adobe acrobat. It can also be done also with the free
-\PDF{} Accessibility Checker (PAC~3) \parencite{pac3}. There is also the
+\PDF{} Accessibility Checker (PAC~2021) \parencite{pac3}. There is also the
validator veraPDF \parencite{verapdf}. A rather new and quite useful tool is
\enquote{Next Generation PDF} \parencite{ngpdf}, a browser application which
converts a tagged PDF to html, allows to inspect its structure and also to
edit the structure.
-Practical validation is naturally the more complicated part. It needs screen reader, users which actually knows how to handle them, can test documents and can report where a \PDF{} has real accessibility problems.
+Practical validation is naturally the more complicated part.
+It needs screen reader, users which actually knows how to handle them,
+can test documents and can report where a \PDF{} has real accessibility problems.
\minisec{Preflight woes}
-Sadly validators can not be always trusted. As an example for an reason that I don't understand the adobe preflight don't like the list structure \texttt{L}.
-It is also possible that validators contradict: that the one says everything is okay, while the other complains.
+Sadly validators can not be always trusted.
+As an example for an reason that I don't understand the adobe preflight
+don't like the list structure \texttt{L}.
+It is also possible that validators contradict: that the one says everything is okay,
+while the other complains.
\subsection{Examples wanted!}
-To make the package usable examples are needed: examples that demonstrate how various structures can be tagged and which patches are needed, examples for the test suite, examples that demonstrates problems.
+To make the package usable examples are needed:
+examples that demonstrate how various structures can be tagged and which patches are needed,
+examples for the test suite, examples that demonstrates problems.
\begin{tcolorbox}
@@ -269,7 +293,8 @@ Feedback, contribuations and corrections are welcome!
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.%
+so that uncompressed \PDF{} are created and the internal objects and
+structures can be inspected and be compared by the l3build checks.%
\section{Changes}
@@ -1232,19 +1257,14 @@ This solves the \enquote{interruption} problem, but has its price: Material inse
must be properly guarded. For example
\begin{taglstlisting}
-\RequirePackage{pdfmanagement-testphase}
-\DeclareDocumentMetadata{uncompress}
+\DocumentMetadata{uncompress}
\documentclass{article}
-\usepackage{tagpdf}
-\tagpdfsetup{activate,interwordspace=true}
\pagestyle{headings}
\begin{document}
-\tagstructbegin{tag=Document}
\sectionmark{HEADER}
\AddToHook{shipout/background}{\put(5cm,-5cm){BACKGROUND}}
\tagmcbegin{tag=P}Page 1\newpage Page 2\tagmcend
-\tagstructend
\end{document}
\end{taglstlisting}
@@ -1255,13 +1275,11 @@ like.
\includegraphics[alt=Show tags of examples]{global-ex}
-It is therefore from now on important to correctly markup such code. Header and footer typically should be
-artifacts. The LaTeX kernel hasn't yet suitable hooks around header and footer to allow to automate
-this, but a first draft has been added with \pkg{pdfmanagement-testphase}. Starting with version 0.92
-header and footer are marked as (simple) artifacts.
-If they contain code which needs a different markup it still must be added explicitly.
-With packages like \pkg{fancyhdr} or \pkg{scrlayer-scrpage} it is quite easy to add
-the needed code.
+It is therefore from now on important to correctly markup such code. Header
+and footer are now marked as artifacts (see below). If they contain code
+which needs a different markup it still must be added explicitly. With
+packages like \pkg{fancyhdr} or \pkg{scrlayer-scrpage} it is quite easy to
+add the needed code.
\subsubsection{Tips}
diff --git a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
index 527d7bec01..4f14e73b1a 100644
--- a/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
+++ b/macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
@@ -1,25 +1,17 @@
%\RequirePackage[enable-debug]{expl3}[2018/06/14]
-\ProvidesExplPackage {tagpdfdocu-patches} {2023-05-16} {0.98g}
+\ProvidesExplPackage {tagpdfdocu-patches} {2023-06-06} {0.98h}
{patches/commands for the tagpdf documentation}
\RequirePackage{etoolbox,xpatch}
%Logos
-
+% only spacing changes:
\ExplSyntaxOn
\DeclareRobustCommand\TeX{
\leavevmode
- \tag_mc_end_push:
- \tag_struct_begin:n{tag=Span,actualtext=TeX}
- \tagmcbegin{}
T\kern-.1667em\lower.5ex\hbox{E}\kern-.05emX\@ %changed from -.125em
- \tagmcend
- \tag_struct_end:
- \tag_mc_begin_pop:n{}}
+ }
\DeclareRobustCommand{\LaTeX}{
\leavevmode
- \tag_mc_end_push:
- \tag_struct_begin:n{tag=Span,actualtext=LaTeX}
- \tagmcbegin{}
L\kern-.25em % %changed from -0.36em
\sbox\z@ T%
\vbox to\ht\z@{\hbox{\check@mathfonts
@@ -29,24 +21,7 @@
\vss}%
\kern-.1em % %changed from 0.15em
T\kern-.1667em\lower.5ex\hbox{E}\kern-.05emX\@ %changed from -0.125
- \tagmcend
- \tag_struct_end:
- \tag_mc_begin_pop:n{}
- }
-% textbf
-
-\AddToHook{cmd/textbf/before}
- {\leavevmode\tag_mc_end_push:\tag_struct_begin:n{tag=Strong}\tagmcbegin{}}
-
-\AddToHook{cmd/textbf/after}
- {\tag_mc_end:\tag_struct_end:\tag_mc_begin_pop:n{}}
-
-% emph
-\AddToHook{cmd/emph/before}
- {\leavevmode\tag_mc_end_push:\tag_struct_begin:n{tag=Em}\tagmcbegin{}}
-
-\AddToHook{cmd/emph/after}
- {\tag_mc_end:\tag_struct_end:\tag_mc_begin_pop:n{}}
+ }
% minisec, correct tagging is still unclear.
\newcommand\minisec[1]{%
@@ -173,128 +148,5 @@
%====== floats ========
-\tagpdfsetup{add-new-tag=float/Div}
-\makeatletter
-\def\@xfloat #1[#2]{%
- \@nodocument
- \def \@captype {#1}%
- \def \@fps {#2}%
- \@onelevel@sanitize \@fps
- \def \reserved@b {!}%
- \ifx \reserved@b \@fps
- \@fpsadddefault
- \else
- \ifx \@fps \@empty
- \@fpsadddefault
- \fi
- \fi
- \ifhmode
- \@bsphack
- \tagmcend%end P
- \@floatpenalty -\@Mii
- \else
- \@floatpenalty-\@Miii
- \fi
- \ifinner
- \@parmoderr\@floatpenalty\z@
- \else
- \@next\@currbox\@freelist
- {%
- \@tempcnta \sixt@@n
- \expandafter \@tfor \expandafter \reserved@a
- \expandafter :\expandafter =\@fps
- \do
- {%
- \if \reserved@a h%
- \ifodd \@tempcnta
- \else
- \advance \@tempcnta \@ne
- \fi
- \else\if \reserved@a t%
- \@setfpsbit \tw@
- \else\if \reserved@a b%
- \@setfpsbit 4%
- \else\if \reserved@a p%
- \@setfpsbit 8%
- \else\if \reserved@a !%
- \ifnum \@tempcnta>15
- \advance\@tempcnta -\sixt@@n\relax
- \fi
- \else
- \@latex@error{Unknown float option `\reserved@a'}%
- {Option `\reserved@a' ignored and `p' used.}%
- \@setfpsbit 8%
- \fi\fi\fi\fi\fi
- }%
- \@tempcntb \csname ftype@\@captype \endcsname
- \multiply \@tempcntb \@xxxii
- \advance \@tempcnta \@tempcntb
- \global \count\@currbox \@tempcnta
- }%
- \@fltovf
- \fi
- \tagstructbegin{tag=float}%float
- \edef\@current@float@struct{\csname tag_get:n\endcsname{struct_num}}%
- \typeout{Float structure: \@current@float@struct}
- \global \setbox\@currbox
- \color@vbox
- \normalcolor
- \vbox \bgroup
- \hsize\columnwidth
- \@parboxrestore
- \@floatboxreset
-}%
-
-\def\end@float{%
- \@endfloatbox
- \tagstructend %end div
- \ifnum\@floatpenalty <\z@
- \@largefloatcheck
- \@cons\@currlist\@currbox
- \ifnum\@floatpenalty <-\@Mii
- \penalty -\@Miv
- \@tempdima\prevdepth
- \vbox{}%
- \prevdepth\@tempdima
- \penalty\@floatpenalty
- \else
- \vadjust{\penalty -\@Miv \vbox{}\penalty\@floatpenalty}\@Esphack
- \tagmcbegin{tag=P}%restart P Safe here??
- \fi
- \fi
-}
-
-\ExplSyntaxOn
-\long\def\@makecaption#1#2{%
- \vskip\abovecaptionskip
- \tagtool{para=false}
- \sbox\@tempboxa{#1:~#2}%
- \tag_struct_begin:n{tag=Caption}
- \ifdim \wd\@tempboxa >\hsize
- \tag_struct_begin:n{tag=Lbl}
- \tag_mc_begin:n{}
- #1:~
- \tag_mc_end:
- \tag_struct_end:
- \tag_mc_begin:n{}
- #2\par
- \tag_mc_end:
- \else
- \global \@minipagefalse
- \hb@xt@\hsize{\hfil
- \tag_struct_begin:n{tag=Lbl}
- \tag_mc_begin:n{}
- #1:~
- \tag_mc_end:
- \tag_struct_end:
- \tag_mc_begin:n{}
- #2\par
- \tag_mc_end:\hfil}%
- \fi
- \tagstructend %caption
- \vskip\belowcaptionskip}
-\ExplSyntaxOff
-
-
\endinput
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.dtx b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
index 649ca357dd..cf1443a781 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.dtx
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.dtx
@@ -20,6 +20,7 @@
% This work consists of the files njuthesis.dtx,
% and the derived files njuthesis.ins,
% njuthesis.cls,
+% njuthesis-doc.cls,
% njuthesis-graduate.def,
% njuthesis-postdoctoral.def,
% njuthesis-undergraduate.def,
@@ -73,6 +74,7 @@ To produce the documentation run the original source files ending with
\file{\jobname-undergraduate.def} {\from{\jobname.dtx}{def-u}}
\file{\jobname-graduate.def} {\from{\jobname.dtx}{def-g}}
\file{\jobname-postdoctoral.def} {\from{\jobname.dtx}{def-p}}
+ \file{\jobname-doc.cls} {\from{\jobname.dtx}{doc-cls}}
%<*internal>
\usedir{source/latex/njuthesis}
\file{\jobname.ins} {\from{\jobname.dtx}{install}}
@@ -88,6 +90,7 @@ To produce the documentation run the original source files ending with
\Msg{* The recommended directory is TDS:tex/latex/njuthesis *}
\Msg{* *}
\Msg{* njuthesis.cls *}
+\Msg{* njuthesis-doc.cls *}
\Msg{* njuthesis-graduate.def *}
\Msg{* njuthesis-postdoctoral.def *}
\Msg{* njuthesis-undergraduate.def *}
@@ -109,7 +112,7 @@ To produce the documentation run the original source files ending with
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<*!(driver|install)>
-%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.2.1 2023-05-03 13:30:00
+%<+!driver>\GetIdInfo $Id: njuthesis.dtx 1.3.0 2023-06-06 11:30:00
%<+!driver> +0800 NJU LUG <git+nju-lug-email-3104-issue-@yaoge123.cn>$
%<class> {Thesis template for Nanjing University}
%<class>\ProvidesExplClass{njuthesis}
@@ -121,216 +124,15 @@ To produce the documentation run the original source files ending with
% ^^A å—京大学一百二å周年åŽè¯žé‚€æ‚¨å…±è¥„盛举ï¼
%<def-p> {Postdoctoral definition file for njuthesis}
%<def-p>\ProvidesExplFile{njuthesis-postdoctoral.def}
+%<doc-cls> {Documentation style for njuthesis}
+%<doc-cls>\ProvidesExplFile{njuthesis-doc.cls}
%<!driver> {\ExplFileDate}{\ExplFileVersion}{\ExplFileDescription}
%</!(driver|install)>
%
%<*driver>
\ProvidesFile{njuthesis.dtx}
-\documentclass[fontset=fandol]{ctxdoc}
-\usepackage{listings,njuvisual,tabularray,unicode-math,xeCJKfntef,zhlineskip}
-\usepackage[firstpage=true]{background}
-\backgroundsetup{
- contents={\njuemblem[white!85!gray]{22cm}{!}},
- scale=1, angle=0, hshift=-4cm
-}
-\definecolor{tpblue}{HTML}{495A80}
-\renewcommand\emph[1]{\CJKunderdot[textformat=\itshape]{#1}}
-\newcommand\tpbutton[1]{\textcolor{tpblue}{\bfseries #1}}
-\newcommand\tikzlogo{Ti\emph{k}Z}
-\newcommand\OPT[1]{\textcolor{njuyellow}{\bfseries#1}}
-\hypersetup{
- pdftitle = {
- The njuthesis class -
- LaTeX thesis template for Nanjing University},
- citecolor = njublue,
- linkcolor = njuviolet,
- urlcolor = njumagenta}
-\UseTblrLibrary{booktabs,siunitx}
-\DefTblrTemplate{caption-tag}{default}{表\hspace{0.25em}\thetable}
-\SetTblrStyle{caption-tag}{font=\bfseries}
-\SetTblrInner{row{1}={font=\bfseries}}
-\SetTblrInner[talltblr]{row{1}={font=\bfseries}}
-\DefTblrTemplate{caption-sep}{default}{\quad}
-\def\TA{\TblrNote{a}}
-\def\TB{\TblrNote{b}}
-\def\TC{\TblrNote{c}}
-\def\TD{\TblrNote{d}}
-\def\TE{\TblrNote{e}}
-\def\TL{\TeX~Live}
-\def\MacTeX{Mac\TeX}
-\def\biber{\hologo{biber}}
-\def\LaTeXe{\hologo{LaTeX2e}}
-\SetTextEnvironmentSinglespace{1.112}
-\SetMathEnvironmentSinglespace{1.112}
-\setsansfont{LexendDeca}
-\setmonofont{Iosevka}[
- UprightFont = Iosevka Light,
- ItalicFont = Iosevka Light Italic,
- BoldFont = Iosevka Semibold
-]
-\setCJKmainfont{Source Han Serif SC}[
- UprightFont = Source Han Serif SC SemiBold,
- ItalicFont = Source Han Serif SC Bold,
- BoldFont = Source Han Serif SC Heavy,
- Language = Chinese Simplified
-]
-\setmathfont{XITSMath-Regular}[
- BoldFont = XITSMath-Bold,
- Extension = .otf]
-\lstdefinestyle{style@base}
- {
- basewidth = 0.5 em,
- gobble = 3,
- lineskip = 3 pt,
- frame = l,
- framerule = 1 pt,
- framesep = 0 pt,
- xleftmargin = 2 em,
- xrightmargin = 3 em,
- escapeinside = {(*}{*)},
- breaklines = true,
- basicstyle = \small\ttfamily,
- keywordstyle = \bfseries\color{njuviolet},
- commentstyle = \itshape\color{white!50!gray},
- stringstyle = \color{nju-chem-red},
- backgroundcolor = \color{white!95!gray}
- }
-\lstdefinestyle{style@shell}
- {
- style = style@base,
- rulecolor = \color{njumagenta},
- language = bash,
- alsoletter = {-},
- emphstyle = \color{nju-cs-green}
- }
-\lstdefinestyle{style@latex}
- {
- style = style@base,
- rulecolor = \color{njublue},
- language = [LaTeX]TeX,
- alsoletter = {*, -, .},
- texcsstyle = *\color{njuviolet},
- emphstyle = [1]\color{nju-ai-orange},
- emphstyle = [2]\color{nju-cs-green},
- emphstyle = [3]\bfseries\color{njuyellow}
- }
-\lstnewenvironment{shellexample}[1][]{%
- \lstset{style=style@shell, #1}}{}
-\lstnewenvironment{latexexample}[1][]{%
- \lstset{style=style@latex, #1}}{}
-\makeatletter
-\ExplSyntaxOn
-\colorlet { at@guard } { njuviolet }
-\definecolor { angle@guard } { gray } { 0.7 }
-\definecolor { star@guard } { rgb } { 0.8 , 0 , 0 }
-\definecolor { u@guard } { HTML } { 5463FF }
-\definecolor { g@guard } { HTML } { 2B7A0B }
-\definecolor { p@guard } { HTML } { FF1818 }
-\definecolor { c@guard } { HTML } { FFC300 }
-\clist_const:Nn \c__njudoc_module_color_clist
- {
- { def-u } { u@guard },
- { def-g } { g@guard },
- { def-p } { p@guard },
- { class } { c@guard }
- }
-\cs_new_protected:Npn \__njudoc_compare_module:nnn #1#2#3
- { \str_if_eq:nnT {#1} {#2} { \color {#3} #1 } }
-\cs_new_protected:Npn \__njudoc_set_module_color:n #1
- {
- \clist_map_inline:Nn \c__njudoc_module_color_clist
- { \__njudoc_compare_module:nnn {#1} ##1 }
- }
-\cs_new_protected:Npn \__njudoc_module_angle:Nn #1#2
- {
- \group_begin: \color { angle@guard } \ttfamily \textlangle \group_end:
- \group_begin: \sffamily #2 \group_end:
- \group_begin: \color { angle@guard } #1 \ttfamily \textrangle \group_end:
- }
-\cs_set_protected:Npn \__ctxdoc_module_angle:n #1
- { \__njudoc_module_angle:Nn \c_empty_tl {#1} }
-\cs_new_protected:Npn \__njudoc_colored_module_angle:NN #1#2
- {
- \seq_clear:N #2
- \seq_map_inline:Nn #1
- {
- \seq_gput_right:Nn #2
- { \__njudoc_set_module_color:n {##1} }
- }
- }
-\cs_new_protected:Npn \__njudoc_print_module:n #1
- {
- \__njudoc_colored_module_angle:NN \l_tmpa_seq \l_tmpb_seq
- \bool_lazy_or:nnTF
- { \str_if_empty_p:n { #1 } }
- { \int_compare_p:n { \seq_count:N \l_tmpb_seq = 1 } }
- {
- \str_clear:N \l_tmpa_str
- \str_clear:N \l_tmpb_str
- }
- {
- \str_set:Nn \l_tmpa_str { ( }
- \str_set:Nn \l_tmpb_str { ) }
- }
- \__njudoc_module_angle:Nn \l_tmpb_str
- {
- \color { star@guard } #1
- \color { angle@guard } \l_tmpa_str
- \seq_use:Nn \l_tmpb_seq
- { \color { angle@guard } \orbar }
- }
- }
-\cs_new_protected_nopar:Npn \__njudoc_split_pm:n #1
- { \seq_set_split:Nnn \l_tmpa_seq { | } {#1} }
-\cs_new_protected_nopar:Npn \__njudoc_split_m:n #1
- {
- \tl_set:Nn \l_tmpa_str {#1}
- \clist_map_inline:nn { *, /, (, ) }
- { \str_remove_all:Nn \l_tmpa_str {##1} }
- \seq_set_split:NnV \l_tmpa_seq { | } \l_tmpa_str
- }
-\group_begin:
- \char_set_catcode_active:N \>
- \cs_gset_protected:Npn \__ctxdoc_module_star:w #1 > #2 \q_stop
- {
- \__ctxdoc_output_module:nn
- { \__njudoc_split_m:n {#1} }
- { \__ctxdoc_module_push:n { \__njudoc_print_module:n { * } } }
- \__ctxdoc_output_line:n {#2}
- \__ctxdoc_star_format:
- }
- \cs_gset_protected:Npn \__ctxdoc_module_slash:w #1 > #2 \q_stop
- {
- \__ctxdoc_output_module:nn
- { \__njudoc_split_m:n {#1} }
- { \__ctxdoc_module_pop:n { \__njudoc_print_module:n { / } } }
- \__ctxdoc_output_line:n {#2}
- \__ctxdoc_slash_format:
- }
- \cs_gset_protected:Npn \__ctxdoc_module_pm:w #1 > #2 \q_stop
- {
- \tex_noindent:D
- \hbox_overlap_left:n
- {
- \__ctxdoc_output_module:nn
- { \__njudoc_split_pm:n {#1} }
- { \__njudoc_print_module:n { } }
- \skip_horizontal:n { \leftskip + \smallskipamount }
- }
- \group_begin:
- \__ctxdoc_pm_format:
- \__ctxdoc_output_line:n {#2}
- \group_end:
- }
-\group_end:
-\NewDocumentCommand \grd { m }
- { \__ctxdoc_module_angle:n { \color { njuviolet } #1 } }
-\NewDocumentCommand \sgrd { m }
- { \__ctxdoc_module_angle:n { \color { star@guard } * \color{ c@guard } #1 } }
-\NewDocumentCommand \pgrd { m }
- { \__ctxdoc_module_angle:n { \color { #1 @guard } def- #1 } }
-\ExplSyntaxOff
-\makeatother
+\PassOptionsToClass{codehigh}{njuthesis-doc}
+\documentclass{njuthesis-doc}
\begin{document}
\DocInput{njuthesis.dtx}
\PrintChanges
@@ -339,6 +141,15 @@ To produce the documentation run the original source files ending with
%</driver>
% \fi
%
+% \title{\color{njuviolet}{The \cls{njuthesis} class\\
+% \textbf{å—京大学学ä½è®ºæ–‡æ¨¡æ¿}}}
+%
+% \author{å—京大学 Linux 用户组
+% \thanks{E-mail: \href{mailto:git+nju-lug-email-3104-issue-@yaoge123.cn}
+% {git+nju-lug-email-3104-issue-@yaoge123.cn}}}
+%
+% \date{v1.3.0 \quad 2023-06-06}
+%
% \changes{v0.1}{2021/09/04}{开始开å‘。}
% \changes{v0.2}{2021/09/07}{åˆæ­¥æ­å»ºäº†å¯ç”¨çš„模æ¿ã€‚}
% \changes{v0.3}{2021/09/09}{使用自动构建工具进行测试。}
@@ -373,15 +184,6 @@ To produce the documentation run the original source files ending with
% \changes{v1.1}{2023/01/05}{适é…2023届本科生毕业毕业论文(设计)规范。}
% \changes{v1.1}{2023/01/05}{适é…新版å—大 \LaTeX 在线编辑器。}
%
-% \title{\color{njuviolet}{The \cls{njuthesis} class\\
-% \textbf{å—京大学学ä½è®ºæ–‡æ¨¡æ¿}}}
-%
-% \author{å—京大学 Linux 用户组
-% \thanks{E-mail: \href{mailto:git+nju-lug-email-3104-issue-@yaoge123.cn}
-% {git+nju-lug-email-3104-issue-@yaoge123.cn}}}
-%
-% \date{v1.2.1 \quad 2023-05-03}
-%
% \maketitle
%
% \let\abstractname\relax
@@ -1386,12 +1188,15 @@ To produce the documentation run the original source files ending with
% 院系。
% \end{function}
%
-% \begin{function}[updated=2021-10-01]{info/major,info/major*}
+% \begin{function}[updated=2023-05-11]{info/major,info/major*}
% \begin{syntax}
% \OPT{major} = \Arg{专业}
+% \OPT{major} = \Arg{专业,专业全称}
% \OPT{major*} = \Arg{专业}
% \end{syntax}
-% 专业。
+% 专业。研究生的专业型学ä½å°é¢ä¸Šï¼Œâ€œä¸“业学ä½ç±»åˆ«(领域)â€ä¸€æ é»˜è®¤ä¼šè¡¥å…¨ä¸º
+% “专业硕/åšå£«ï¼ˆ\meta{专业})â€ã€‚如果希望覆盖模æ¿çš„自动处ç†ï¼Œ
+% å¯ä»¥å¡«å†™ \opt{info/major} 第二ç§å†™æ³•çš„“专业全称â€å­—段。
% \end{function}
%
% \begin{function}[updated=2021-10-01]{info/field,info/field*}
@@ -1469,7 +1274,7 @@ To produce the documentation run the original source files ending with
%
% \begin{function}[updated=2021-10-01]{info/secret-level}
% \begin{syntax}
-% \OPT{secret-level} = <ä¸æ¶‰å¯†|秘密|机密|ç»å¯†>
+% \OPT{secret-level} = \Arg{密级}
% \end{syntax}
% 研究生学ä½è®ºæ–‡å°é¢ä¸Šçš„密级。
% \end{function}
@@ -1489,13 +1294,13 @@ To produce the documentation run the original source files ending with
% \end{function}
%
% \begin{function}[added=2023-04-24]{info/degree,info/degree*}
- % \begin{syntax}
- % \OPT{degree} = \Arg{中文学ä½å}
- % \OPT{degree*} = \Arg{英文学ä½å}
- % \end{syntax}
- % 研究生国家图书馆å°é¢è‹±æ–‡å°é¢ä¸Šçš„å­¦ä½å称。默认会由模æ¿é€šè¿‡ \opt{degree}
- % å’Œ \opt{type} 文档类选项生æˆï¼Œä¹Ÿå¯ä»¥ç”±æœ¬é€‰é¡¹è‡ªå®šä¹‰å称。
- % \end{function}
+% \begin{syntax}
+% \OPT{degree} = \Arg{中文学ä½å}
+% \OPT{degree*} = \Arg{英文学ä½å}
+% \end{syntax}
+% 研究生国家图书馆å°é¢è‹±æ–‡å°é¢ä¸Šçš„å­¦ä½å称。默认会由模æ¿é€šè¿‡ \opt{degree}
+% å’Œ \opt{type} 文档类选项生æˆï¼Œä¹Ÿå¯ä»¥ç”±æœ¬é€‰é¡¹è‡ªå®šä¹‰å称。
+% \end{function}
%
%
% \subsubsection{输入示范}
@@ -1548,6 +1353,11 @@ To produce the documentation run the original source files ending with
% supervisor* = {Professor Li Chengdian},
% submit-date = {2021-09-12},
% defend-date = {2022-01-15},
+% clc = {0175.2},
+% udc = {004.72},
+% secret-level = {公开},
+% chairman = {张~教授},
+% reviewer = {王~教授,èµµ~副教授,æŽ~助ç†ç ”究员},
% email = {git+nju-lug-email-3104-issue-@yaoge123.cn}
% }
% \end{latexexample}
@@ -1559,12 +1369,7 @@ To produce the documentation run the original source files ending with
% \njusetup[info]{
% confer-date = {2022-05-20},
% bottom-date = {2022-05-21},
-% chairman = {张晓山~教授},
-% reviewer = {王瑞希~教授,郭德纲~副教授,åŽèŠˆåº“~教授,戴è²è²~教授},
-% clc = {0175.2},
-% secret-level = {é™åˆ¶},
-% udc = {004.72},
-% supervisor-contact = {拉太赫科学与技术学院 æžæ±Ÿå¸‚结丘路 19 å· 114514}
+% supervisor-contact = {化学化工学院 ä»™æž—å¤§é“ 163 å· 210046}
% }
% \end{latexexample}
%
@@ -1870,16 +1675,24 @@ To produce the documentation run the original source files ending with
% 定ç†è®¡æ•°å™¨èŒƒå›´ã€‚
% \end{function}
%
+% \begin{function}[added=2023-05-07]{theorem/share-counter}
+% \begin{syntax}
+% \OPT{share-counter} = <\TFF>
+% \end{syntax}
+% 是å¦å…±äº«è®¡æ•°å™¨ã€‚
+% \end{function}
+%
% 模æ¿çš„默认设置等效于
%
% \begin{latexexample}[moretexcs={\njusetup,\bfseries,\itshape,\mdlgwhtsquare},
% emph={[2]theorem},emph={[3]style,header-font,body-font,qed-symbol,counter}]
% \njusetup[theorem]{
-% style = plain,
-% header-font = \normalfont \bfseries ,
-% body-font = \itshape ,
-% qed-symbol = \ensuremath { \mdlgwhtsquare },
-% counter = chapter
+% style = plain,
+% header-font = \normalfont \bfseries ,
+% body-font = \itshape ,
+% qed-symbol = \ensuremath { \mdlgwhtsquare },
+% counter = chapter,
+% share-counter = false
% }
% \end{latexexample}
%
@@ -1926,12 +1739,14 @@ To produce the documentation run the original source files ending with
% \opt{theorem/type} ä¿å­˜çš„列表以åŠå‰æ–¹çš„æ ·å¼è®¾ç½®å¹¶åˆ›å»ºç›¸åº”环境。
% 这也就æ„味ç€è¯¥é€‰é¡¹åœ¨ \opt{theorem/type} 为空时会报错。
%
-% 在下é¢è¿™ä¸ªä¾‹å­ä¸­ï¼Œæˆ‘们先创建了预置的七ç§çŽ¯å¢ƒï¼ŒéšåŽå°†å®šç†å†…部文字字体改为
+% 在下é¢è¿™ä¸ªä¾‹å­ä¸­ï¼Œæˆ‘们先创建了预置的七ç§çŽ¯å¢ƒã€‚除了无编å·çš„
+% \env{proof},其余六ç§å…±ç”¨ä¸€ä¸ªè®¡æ•°å™¨ã€‚éšåŽæˆ‘们将定ç†å†…部文字字体改为
% 宋体,定义了 \env{exercise} å’Œ \env{solution} 两ç§å®šç†çŽ¯å¢ƒï¼ŒåŽè€…没有编å·ã€‚
%
% \begin{latexexample}[moretexcs={\njusetup,\normalfont},
% emph={[2]theorem},emph={[3]define,body-font,type}]
% \njusetup[theorem]{
+% share-counter = true ,
% define ,
% body-font = \normalfont ,
% type = {
@@ -2923,10 +2738,10 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\c_@@_today_tl}
+% \begin{variable}{\c_@@_name_today_tl}
% 编译当天日期,格å¼ä¸º |yyyy-mm-dd|。
% \begin{macrocode}
-\tl_const:Nx \c_@@_today_tl
+\tl_const:Nx \c_@@_name_today_tl
{
\int_to_arabic:n { \c_sys_year_int } -
\int_to_arabic:n { \c_sys_month_int } -
@@ -3015,11 +2830,11 @@ To produce the documentation run the original source files ending with
% 用æ¥å®šä¹‰é»˜è®¤å称的辅助函数。
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_name:nn #1#2
- { \tl_const:cn { c_@@_name_ #1 _tl } { #2 } }
+ { \tl_const:cn { c_@@_name_ #1 _tl } {#2} }
\cs_new_protected:Npn \@@_define_name:nnn #1#2#3
{
- \tl_const:cn { c_@@_name_ #1 _tl } { #2 }
- \tl_const:cn { c_@@_name_ #1 _en_tl } { #3 }
+ \tl_const:cn { c_@@_name_ #1 _tl } {#2}
+ \tl_const:cn { c_@@_name_ #1 _en_tl } {#3}
}
% \end{macrocode}
% \end{macro}
@@ -3028,7 +2843,7 @@ To produce the documentation run the original source files ending with
% 用æ¥å®šä¹‰é»˜è®¤æ ·å¼çš„辅助函数。
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_fmt:nn #1#2
- { \tl_const:cn { c_@@_fmt_ #1 _tl } { #2 } }
+ { \tl_const:cn { c_@@_fmt_ #1 _tl } {#2} }
% \end{macrocode}
% \end{macro}
%
@@ -3036,9 +2851,9 @@ To produce the documentation run the original source files ending with
% 用æ¥å®šä¹‰é»˜è®¤é—´è·çš„辅助函数。
% \begin{macrocode}
\cs_new_protected:Npn \@@_define_dim:nn #1#2
- { \dim_const:cn { c_@@_ #1 _dim } { #2 } }
+ { \dim_const:cn { c_@@_ #1 _dim } {#2} }
\cs_new_protected:Npn \@@_define_skip:nn #1#2
- { \skip_const:cn { c_@@_ #1 _skip } { #2 } }
+ { \skip_const:cn { c_@@_ #1 _skip } {#2} }
% \end{macrocode}
% \end{macro}
%
@@ -3064,9 +2879,9 @@ To produce the documentation run the original source files ending with
% \tn{baselineskip},抛弃 \cs{l__ctex_font_size_tl} 中的第二个值。
% \begin{macrocode}
\cs_new:Npn \@@_fontsize:nn #1#2
- { \fontsize { #1 } { #2 } \selectfont }
+ { \fontsize {#1} {#2} \selectfont }
\cs_new:Npn \@@_fontsize:nnn #1#2#3
- { \@@_fontsize:nn { #1 } { \fp_to_decimal:n { #3 * #1 } } }
+ { \@@_fontsize:nn {#1} { \fp_to_decimal:n { #3 * #1 } } }
% \end{macrocode}
% \end{macro}
%
@@ -3079,9 +2894,9 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new:Npn \@@_zihao:nn #1#2
{
- \prop_get:NnNTF \c__ctex_font_size_prop { #2 } \l__ctex_font_size_tl
- { \exp_after:wN \@@_fontsize:nnn \l__ctex_font_size_tl { #1 } }
- { \msg_error:nnn { ctex } { fontsize } { #2 } }
+ \prop_get:NnNTF \c__ctex_font_size_prop {#2} \l__ctex_font_size_tl
+ { \exp_after:wN \@@_fontsize:nnn \l__ctex_font_size_tl {#1} }
+ { \msg_error:nnn { ctex } { fontsize } {#2} }
}
% \end{macrocode}
% 默认行è·å€æ•°ä¸º 1.3。
@@ -3099,8 +2914,8 @@ To produce the documentation run the original source files ending with
\cs_new:Npo \@@_set_ccglue:n #1
{
\sys_if_engine_xetex:TF
- { \skip_set:Nn \l__ctex_ccglue_skip { #1 } }
- { \ltjsetparameter { kanjiskip = { #1 } } }
+ { \skip_set:Nn \l__ctex_ccglue_skip {#1} }
+ { \ltjsetparameter { kanjiskip = {#1} } }
}
% \end{macrocode}
% \end{macro}
@@ -3116,9 +2931,9 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_box_ulined:NN #1#2
{
\mode_leave_vertical:
- \rule [ \c_@@_ruledpi_dim ] { #1 } { \c_@@_rulehti_dim }
+ \rule [ \c_@@_ruledpi_dim ] {#1} { \c_@@_rulehti_dim }
\skip_horizontal:n { -#1 }
- \hbox_to_wd:nn { #1 } { \tex_hfil:D #2 \tex_hfil:D }
+ \hbox_to_wd:nn {#1} { \tex_hfil:D #2 \tex_hfil:D }
}
\cs_generate_variant:Nn \@@_box_ulined:NN { Nc }
% \end{macrocode}
@@ -3132,32 +2947,39 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_box_spread:NNn,\@@_box_spread:NNv,\@@_box_spread:NNx}
+% \begin{macro}{\@@_box_spread:NNNn}
% \changes{v0.19}{2022/05/16}{对超出盒å­å®½åº¦çš„文字进行水平压缩。}
% 分散对é½çš„水平盒å­ï¼Œæ‹‰ä¼¸ç®—法æ¥è‡ª \cls{fduthesis}。
% 在文字宽度å°äºŽç»™å®šå®½åº¦æ—¶ï¼Œåœ¨å­—符中间填补 \tn{hfil} 以增大字è·ã€‚
% 在文字宽度超出é™åˆ¶æ—¶ï¼Œè¿›è¡Œæ•´ä½“水平压缩。
% \begin{arguments}
+% \item 临时 |dim| åž‹å˜é‡
% \item 宽度,|dim| åž‹å˜é‡
% \item æ ¼å¼
% \item 内容,ä¸å¯å¸¦æœ‰æ ¼å¼
% \end{arguments}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_box_spread:NNn #1#2#3
+\cs_new_protected:Npn \@@_box_spread:NNNn #1#2#3#4
{
\mode_leave_vertical:
- \@@_get_width:Nn \l_@@_tmp_skip { #2 #3 }
- \hbox_to_wd:nn { #1 }
+ \@@_get_width:Nn #1 { #3 #4 }
+ \hbox_to_wd:nn {#2}
{
- \dim_compare:nTF { \l_@@_tmp_skip > #1 }
+ \dim_compare:nTF { #1 > #2 }
{
\tex_hfil:D \scalebox
- { \dim_to_decimal_in_unit:nn { #1 } { \l_@@_tmp_skip } }
- [ 1.0 ] { #2 #3 } \tex_hfil:D
+ { \dim_to_decimal_in_unit:nn {#2} {#1} }
+ [ 1.0 ] { #3 #4 } \tex_hfil:D
}
- { #2 \tl_map_inline:nn { #3 } { ##1 \tex_hfil:D } \tex_unskip:D }
+ { #3 \tl_map_inline:nn {#4} { ##1 \tex_hfil:D } \tex_unskip:D }
}
}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_box_spread:NNn,\@@_box_spread:NNv,\@@_box_spread:NNx}
+% \begin{macrocode}
+\cs_new:Npn \@@_box_spread:NNn { \@@_box_spread:NNNn \l_@@_tmp_skip }
\cs_generate_variant:Nn \@@_box_spread:NNn { NNv }
\cs_generate_variant:Nn \@@_box_spread:NNn { NNx }
% \end{macrocode}
@@ -3184,32 +3006,37 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_box_multiline:NNNn,\@@_box_multiline:NNn}
+% \begin{macro}{\@@_box_multiline:NNNNn}
% 多行固定长度的下划线内容。
% \begin{arguments}
% \item 用于存储æ¡ç›®æ•°é‡çš„ |int| åž‹å˜é‡
+% \item 用于存储æ¡ç›®å†…容的 |tl| åž‹å˜é‡
% \item 内容,|clist| åž‹å˜é‡
% \item 宽度,|dim| åž‹å˜é‡
% \item æ¡ç›®æ•°é‡
% \end{arguments}
% 默认绘制 4 æ¡ä¸‹åˆ’线。在评阅者人数超过 4 人时添加é¢å¤–çš„æ¡ç›®ã€‚
% \begin{macrocode}
-\cs_new_protected:Npn \@@_box_multiline:NNNn #1#2#3#4
+\cs_new_protected:Npn \@@_box_multiline:NNNNn #1#2#3#4#5
{
- \int_set:Nn #1 { \int_max:nn { \clist_count:N #2 } { #4 } }
- \int_step_inline:nn { #1 }
+ \int_set:Nn #1 { \int_max:nn { \clist_count:N #3 } {#5} }
+ \int_step_inline:nn {#1}
{
- \clist_pop:NN #2 \l_@@_tmpa_tl
% \end{macrocode}
% \changes{v1.1}{2022/11/29}{ä¿®å¤ç©ºè¿”回值在国家图书馆å°é¢å¼•å‘的死循环。}
% 防止空的返回值引å‘死循环。
% \begin{macrocode}
- \quark_if_no_value:NT \l__nju_tmpa_tl
- { \tl_set_eq:NN \l_@@_tmpa_tl \c_empty_tl }
- \@@_box_ulined:NN #3 \l_@@_tmpa_tl \tex_par:D
+ \clist_pop:NNF #3 #2 { \tl_set_eq:NN #2 \c_empty_tl }
+ \@@_box_ulined:NN #4 #2 \tex_par:D
}
}
-\cs_new:Npn \@@_box_multiline:NNn { \@@_box_multiline:NNNn \l_@@_tmpa_int }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_box_multiline:NNn}
+% \begin{macrocode}
+\cs_new:Npn \@@_box_multiline:NNn
+ { \@@_box_multiline:NNNNn \l_@@_tmpa_int \l_@@_tmpa_tl }
% \end{macrocode}
% \end{macro}
%
@@ -3222,7 +3049,7 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_uline:n #1
{
\mode_leave_vertical:
- \rule [ \c_@@_ruledpi_dim ] { #1 } { \c_@@_rulehti_dim }
+ \rule [ \c_@@_ruledpi_dim ] {#1} { \c_@@_rulehti_dim }
\skip_horizontal:n { -#1 }
}
% \end{macrocode}
@@ -3237,9 +3064,9 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_uuline:N #1
{
\mode_leave_vertical:
- \rule [ \c_@@_ruledpii_dim ] { #1 } { \c_@@_rulehtii_dim }
+ \rule [ \c_@@_ruledpii_dim ] {#1} { \c_@@_rulehtii_dim }
\skip_horizontal:n { -#1 }
- \rule [ \c_@@_ruledpiii_dim ] { #1 } { \c_@@_rulehtii_dim }
+ \rule [ \c_@@_ruledpiii_dim ] {#1} { \c_@@_rulehtii_dim }
\skip_horizontal:n { -#1 }
}
% \end{macrocode}
@@ -3300,7 +3127,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_get_width_print:Nn #1#2
{
- \@@_get_width:Nn #1 { #2 }
+ \@@_get_width:Nn #1 {#2}
\dim_set:Nn #1 { \textwidth - #1 } #2
}
\cs_generate_variant:Nn \@@_get_width_print:Nn { Nv }
@@ -3318,7 +3145,7 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_uline_entry:Nn #1#2
{
\@@_get_width_print:Nv #1 { c_@@_name_ #2 _tl }
- \@@_box_ulined_info:Nn #1 { #2 }
+ \@@_box_ulined_info:Nn #1 {#2}
}
% \end{macrocode}
% \end{macro}
@@ -3334,7 +3161,7 @@ To produce the documentation run the original source files ending with
{
\@@_get_width_print:Nv #1 { c_@@_name_ #2 _tl }
\dim_sub:Nn #1 { \textwidth / 2 }
- \@@_box_ulined_info:Nn #1 { #2 }
+ \@@_box_ulined_info:Nn #1 {#2}
}
% \end{macrocode}
% \end{macro}
@@ -3354,40 +3181,29 @@ To produce the documentation run the original source files ending with
% 其中,å˜é‡ç±»åž‹ |w| 表明å‚数符åˆç‰¹å®šè¯­æ³•æ ¼å¼ï¼Œå…¶å‚æ•°å¿…é¡»ç»è¿‡å®Œå…¨å±•å¼€ã€‚
% \begin{macrocode}
\cs_new:Npn \@@_date:www #1-#2-#3 \q_stop
- { \__zhnum_date_aux:nnn { #1 } { #2 } { #3 } }
+ { \__zhnum_date_aux:nnn {#1} {#2} {#3} }
\cs_new:Npn \@@_date_en:www #1-#2-#3 \q_stop
- { \clist_item:Nn \c_@@_name_month_en_clist { #2 } ~#3 , ~#1 }
+ { \clist_item:Nn \c_@@_name_month_en_clist {#2} ~#3 , ~#1 }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_date:n,\@@_date_en:n}
-% 从 ISO æ ¼å¼çš„日期字符串生æˆä¸­è‹±æ–‡æ—¥æœŸæ–‡æœ¬ã€‚
+% \begin{macro}{\@@_date:nn}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_date:n #1 { \@@_date:nn { #1 } { } }
-\cs_new_protected:Npn \@@_date_en:n #1 { \@@_date:nn { #1 } { _en } }
+\cs_new:Npn \@@_date:nn { \@@_date:nnn { } }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\exp_last_unbraced:cV,\@@_date:nn}
+% \begin{macro}{\@@_date:nnn}
% \changes{v0.20}{2022/05/24}{å¯åœ¨æ—¥æœŸé¡¹ç•™ç©ºä»¥ä½¿ç”¨ç©ºç™½çš„年月日字样。}
% 用于日期格å¼è½¬åŒ–的辅助命令。在传入的字符串为空时生æˆç©ºç™½å­—样。
% \begin{macrocode}
-\cs_generate_variant:Nn \exp_last_unbraced:NV { cV }
-\cs_new_protected:Npn \@@_date:nn #1#2
+\cs_new:Npn \@@_date:nnn #1#2#3
{
- \tl_set:Nv \l_@@_tmpa_tl { g_@@_info_ #1 date_raw_tl }
- \tl_new:c { g_@@_info_ #1 date #2 _tl }
- \tl_set:cx { g_@@_info_ #1 date #2 _tl }
+ \tl_set:cx { g_@@_info_ #2 date #1 _tl }
{
- \tl_if_empty:NTF \l_@@_tmpa_tl
- { \@@_name:n { blankdate #2 } }
-% \end{macrocode}
-% |w| åŽçš„å‚数需è¦ä½¿ç”¨éžæ‹¬å·åŒ…裹的形å¼å®Œå…¨å±•å¼€ã€‚
-% \begin{macrocode}
- {
- \exp_last_unbraced:cV { @@_date #2 :www }
- \l_@@_tmpa_tl \q_stop
- }
+ \tl_if_empty:nTF {#3}
+ { \@@_name:n { blankdate #1 } }
+ { \use:c { @@_date #1 :www } #3 \q_stop }
}
}
% \end{macrocode}
@@ -3397,7 +3213,7 @@ To produce the documentation run the original source files ending with
% å°è£… \LaTeX{} çš„é’©å­ç®¡ç†æœºåˆ¶ï¼Œç­‰æ•ˆäºŽ \tn{AtBeginDocument}。
% \begin{macrocode}
\cs_new_protected:Npn \@@_at_begin_document:n #1
- { \hook_gput_next_code:nn { begin document } { #1 } }
+ { \hook_gput_next_code:nn { begin document } {#1} }
% \end{macrocode}
% \end{macro}
%
@@ -3526,7 +3342,7 @@ To produce the documentation run the original source files ending with
% 这里需è¦å­˜å‚¨ \tn{prevdepth} 的值,以使 \tn{parbox} åŽè¡Œè·æ­£ç¡®ã€‚
% \footnote{\url{https://tex.stackexchange.com/q/34971/}}
% \begin{macrocode}
- \parbox [ t ] { #3 }
+ \parbox [ t ] {#3}
{
\c_@@_fmt_covertitle_tl \@@_uline_title:
\dim_gset_eq:NN \l_@@_tmpa_dim \tex_prevdepth:D
@@ -3550,8 +3366,8 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_entry:NNNNn #1#2#3#4#5
{
- \@@_box_spread_name:NNn #2 #4 { #5 } #1
- \@@_box_ulined_info:Nn #3 { #5 } \tex_par:D
+ \@@_box_spread_name:NNn #2 #4 {#5} #1
+ \@@_box_ulined_info:Nn #3 {#5} \tex_par:D
}
\cs_new:Npn \@@_cover_entry:NNNn { \@@_cover_entry:NNNNn \@@_hskip: }
% \end{macrocode}
@@ -3569,10 +3385,10 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_cover_entry:NNNnn #1#2#3#4#5
{
- \@@_box_spread_name:NNn #1 #3 { #4 } \@@_hskip:
- \@@_box_ulined_info:Nn #2 { #4 } \@@_hskip:
- \@@_box_spread_name:NNn #1 #3 { #5 } \@@_hskip:
- \@@_box_ulined_info:Nn #2 { #5 } \tex_par:D
+ \@@_box_spread_name:NNn #1 #3 {#4} \@@_hskip:
+ \@@_box_ulined_info:Nn #2 {#4} \@@_hskip:
+ \@@_box_spread_name:NNn #1 #3 {#5} \@@_hskip:
+ \@@_box_ulined_info:Nn #2 {#5} \tex_par:D
}
% \end{macrocode}
% \end{macro}
@@ -3594,7 +3410,7 @@ To produce the documentation run the original source files ending with
{ \clist_item:cn { g_@@_info_ #4 _clist } { 1 } }
\tl_set:Nn \l_@@_tmpb_tl
{ \clist_item:cn { g_@@_info_ #4 _clist } { 2 } }
- \@@_box_spread_name:NNn #1 #3 { #4 } \@@_hskip:
+ \@@_box_spread_name:NNn #1 #3 {#4} \@@_hskip:
\@@_box_ulined:NN #2 \l_@@_tmpa_tl \@@_hskip:
\@@_box_spread_name:NNn #1 #3 { supvtitle } \@@_hskip:
\@@_box_ulined:NN #2 \l_@@_tmpb_tl \tex_par:D
@@ -3607,9 +3423,9 @@ To produce the documentation run the original source files ending with
% 此时 \tn{njuemblem}ã€\tn{njuname} 和相关长度都是没有定义的。
% \begin{macrocode}
\cs_new_protected:Npn \@@_emblem:N #1
- { \njuemblem [ \c_@@_fmt_emblemcolor_tl ] { #1 } { ! } }
+ { \njuemblem [ \c_@@_fmt_emblemcolor_tl ] {#1} { ! } }
\cs_new_protected:Npn \@@_name:N #1
- { \njuname [ \c_@@_fmt_namecolor_tl ] { #1 } { ! } }
+ { \njuname [ \c_@@_fmt_namecolor_tl ] {#1} { ! } }
% \end{macrocode}
% \end{macro}
%
@@ -3623,7 +3439,7 @@ To produce the documentation run the original source files ending with
{
\phantomsection
\@@_bookmark:Nnn \g_@@_abs_showentry_bool {#1} {#2}
- \@@_chapter_header:n { #1 }
+ \@@_chapter_header:n {#1}
}
\cs_generate_variant:Nn \@@_abs_bookmark:nn { Vn }
% \end{macrocode}
@@ -3659,7 +3475,7 @@ To produce the documentation run the original source files ending with
{
\vbox_set:Nn \l_@@_tmpa_box
{
- \@@_get_width:Nn \tex_hangindent:D { #3 }
+ \@@_get_width:Nn \tex_hangindent:D {#3}
\int_set:Nn \tex_hangafter:D { -1 }
\skip_set_eq:NN \tex_leftskip:D #2
\skip_set_eq:NN \tex_rightskip:D \tex_leftskip:D
@@ -3670,7 +3486,7 @@ To produce the documentation run the original source files ending with
\int_gzero:N \l_@@_tmpa_int
\@@_breakpar_loop:n { \int_gincr:N \l_@@_tmpa_int }
}
- \@@_breakpar_print:nn { #3 }
+ \@@_breakpar_print:nn {#3}
{
% \end{macrocode}
% 在使用自然断行算法åŽï¼Œç ”究生的摘è¦æ ‡é¢˜å¯é€‰æ‹© \opt{strict}
@@ -3900,6 +3716,13 @@ To produce the documentation run the original source files ending with
requires~ loading~ the~ class~ with~ "ntheorem"~ option~
set~ to~ "true".
}
+\@@_msg:nn { missing-symbol }
+ {
+ \string\mdwhtsquare\ and~ \string\checkmark\ are~ not~
+ contained~ in~ the~ standard~ amsmath~ package.~ You~
+ should~ redefine~ them~ with~ other~ packages~ loaded~
+ to~ properly~ generate~ the~ declaration~ page.
+ }
\@@_msg:nn { missing-title }
{
Thesis~ title~ should~ not~ be~ left~ blank.\\
@@ -4117,7 +3940,7 @@ To produce the documentation run the original source files ending with
\cs_new_protected:cpn { @@_loadpkg_ #2 : }
{
\bool_if:cT { g_@@_opt_load_ #2 _bool }
- { \RequirePackage { #1 } }
+ { \RequirePackage {#1} }
}
\clist_put_right:Nn \g_@@_name_optional_pkg_clist {#1}
}
@@ -4240,10 +4063,10 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\NewDocumentCommand \njusetup { o m }
{
- \tl_if_novalue:nTF { #1 }
- { \@@_keys_set:nn { nju } { #2 } }
+ \tl_if_novalue:nTF {#1}
+ { \@@_keys_set:nn { nju } {#2} }
{
- \tl_if_in:nnTF { #1 } { / }
+ \tl_if_in:nnTF {#1} { / }
{ \@@_keys_set:nn { nju } { #1 = {#2} } }
{ \@@_keys_set:nn { nju / #1 } {#2} }
}
@@ -4263,7 +4086,7 @@ To produce the documentation run the original source files ending with
% 定义修改默认样å¼çš„接å£ã€‚
% \begin{macrocode}
\NewDocumentCommand \njusetformat { m m }
- { \tl_gset:cn { c_@@_fmt_ #1 _tl } { #2 } }
+ { \tl_gset:cn { c_@@_fmt_ #1 _tl } {#2} }
% \end{macrocode}
% \end{macro}
%
@@ -4274,9 +4097,9 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\NewDocumentCommand \njusetlength { s m m }
{
- \bool_if:nTF { #1 }
- { \skip_gset:cn { c_@@_ #2 _skip } { #3 } }
- { \dim_gset:cn { c_@@_ #2 _dim } { #3 } }
+ \bool_if:nTF {#1}
+ { \skip_gset:cn { c_@@_ #2 _skip } {#3} }
+ { \dim_gset:cn { c_@@_ #2 _dim } {#3} }
}
% \end{macrocode}
% \end{macro}
@@ -4305,7 +4128,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new_protected:Npn \@@_set_tokenlist:nnnnn #1#2#3#4#5
{
- \bool_if:nTF { #1 }
+ \bool_if:nTF {#1}
{ \tl_set_eq:NN \l_@@_tmpb_tl \c_@@_name_suffix_en_tl }
{ \tl_clear:N \l_@@_tmpb_tl }
\tl_gset:cn { c_@@_ #5 _ #2 #3 \l_@@_tmpb_tl _tl } {#4}
@@ -4392,7 +4215,15 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\bool_if:NTF \g_@@_opt_load_um_bool
{ \RequirePackage { unicode-math } }
- { \RequirePackage { amsmath } }
+ {
+ \RequirePackage { amsmath }
+ \bool_if:NT \g_@@_opt_decl_bool
+ {
+ \msg_warning:nn { njuthesis } { missing-symbol }
+ \cs_new:Npn \mdwhtsquare { }
+ \cs_new:Npn \checkmark { }
+ }
+ }
% \end{macrocode}
%
% 载入å„ç§å®åŒ…。
@@ -4466,7 +4297,7 @@ To produce the documentation run the original source files ending with
% 检查å®åŒ…版本是å¦è¿‡æ—¶ã€‚
% \begin{macrocode}
%<*class>
-\cs_new_protected:Npn \@@_check_pkg_version:nnn #1#2#3
+\cs_new:Npn \@@_check_pkg_version:nnn #1#2#3
{
\@ifpackagelater {#1} {#2}
{ } { \msg_error:nnnn { njuthesis } { package-too-old } {#1} {#3} }
@@ -4491,9 +4322,9 @@ To produce the documentation run the original source files ending with
% \item 产生冲çªçš„å®åŒ…
% \end{arguments}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_check_pkg_conflict:nn #1#2
+\cs_new:Npn \@@_check_pkg_conflict:nn #1#2
{
- \ctex_at_begin_package:nn { #2 }
+ \ctex_at_begin_package:nn {#2}
{ \msg_warning:nnnn { njuthesis } { package-conflict } {#1} {#2} }
}
% \end{macrocode}
@@ -4508,7 +4339,7 @@ To produce the documentation run the original source files ending with
amscd, amsfonts, amssymb, bbm, bm, eucal,
eufrak, mathrsfs, newtxmath, upgreek
}
- { \@@_check_pkg_conflict:nn { unicode-math } { #1 } }
+ { \@@_check_pkg_conflict:nn { unicode-math } {#1} }
}
% \end{macrocode}
%
@@ -4538,8 +4369,8 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\clist_map_inline:Nn \g_@@_config_clist
{
- \msg_info:nnn { njuthesis } { load-config } { #1 }
- \file_input:n { #1 }
+ \msg_info:nnn { njuthesis } { load-config } {#1}
+ \file_input:n {#1}
}
% \end{macrocode}
%
@@ -4585,18 +4416,33 @@ To produce the documentation run the original source files ending with
% \end{macro}
%
% \begin{macro}{info/department,info/department*,
-% info/major,info/major*,info/field,info/field*}
+% info/major*,info/field,info/field*}
% 院系ã€ä¸“业ã€æ–¹å‘。
% \begin{macrocode}
department .tl_set:N = \g_@@_info_dept_tl ,
department* .tl_set:N = \g_@@_info_dept_en_tl ,
- major .tl_set:N = \g_@@_info_major_tl ,
major* .tl_set:N = \g_@@_info_major_en_tl ,
field .tl_set:N = \g_@@_info_field_tl ,
field* .tl_set:N = \g_@@_info_field_en_tl ,
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{info/major}
+% \changes{v1.3}{2023/05/11}{专业型研究生å°é¢å¯é¢å¤–修改专业å称。}
+% 专业。
+% \begin{macrocode}
+ major .code:n =
+ {
+ \clist_pop:NN \l_keys_value_tl \g_@@_info_major_tl
+ \clist_pop:NNF \l_keys_value_tl \g_@@_info_majorc_tl
+ {
+ \tl_set:Nn \g_@@_info_majorc_tl
+ { 工程 \g_@@_info_type_tl( \g_@@_info_major_tl ) }
+ }
+ },
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{info/supervisor,info/supervisor*}
% \changes{v0.13}{2021/12/11}{修改了导师选项的å˜é‡å称。}
% \changes{v0.14}{2022/01/12}{精简导师信æ¯é€‰é¡¹ã€‚}
@@ -4615,43 +4461,7 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{info/submit-date}
-% \changes{v0.14}{2022/01/14}{精简æ交日期选项。}
-% æ交日期,åˆå§‹å€¼ä¸ºç¼–译当天日期。
-% \begin{macrocode}
- submit-date .tl_set:N = \g_@@_info_submitdate_raw_tl ,
- submit-date .initial:V = \c_@@_today_tl ,
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{info/defend-date}
-% \changes{v0.14}{2022/01/14}{精简答辩日期选项。}
-% 答辩日期。
-% \begin{macrocode}
- defend-date .tl_set:N = \g_@@_info_defenddate_raw_tl ,
- defend-date .initial:V = \c_@@_today_tl ,
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{info/defend-date}
-% \changes{v0.19}{2022/05/23}{新增国家图书馆å°é¢çš„å­¦ä½æŽˆäºˆæ—¥æœŸè®¾ç½®é¡¹ã€‚}
-% å­¦ä½æŽˆäºˆæ—¥æœŸã€‚
-% \begin{macrocode}
- confer-date .tl_set:N = \g_@@_info_conferdate_raw_tl ,
- confer-date .initial:V = \c_@@_today_tl ,
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{info/bottom-date}
-% \changes{v0.19}{2022/05/23}{新增国家图书馆å°é¢çš„底部日期设置项。}
-% 底部日期。
-% \begin{macrocode}
- bottom-date .tl_set:N = \g_@@_info_bottomdate_raw_tl ,
- bottom-date .initial:V = \c_@@_today_tl ,
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{info/defend-date,info/chairman,info/reviewer}
+% \begin{macro}{info/chairman,info/reviewer}
% 答辩委员会信æ¯ã€‚
% \begin{macrocode}
chairman .tl_set:N = \g_@@_info_chairman_tl ,
@@ -4703,9 +4513,42 @@ To produce the documentation run the original source files ending with
% 覆盖预定义的学ä½å­—段。
% \begin{macrocode}
degree .tl_set:N = \g_@@_info_degree_tl ,
- degree* .tl_set:N = \g_@@_info_degree_en_tl
+ degree* .tl_set:N = \g_@@_info_degree_en_tl ,
+% \end{macrocode}
+% \end{macro}
+%
+% æ交日期,åˆå§‹å€¼ä¸ºç¼–译当天日期。
+% \begin{macrocode}
}
% \end{macrocode}
+%
+% \changes{v1.3}{2023/05/18}{日期字段直接在输入键值时处ç†ã€‚}
+%
+% \begin{macro}{info/submit-date}
+% \changes{v0.14}{2022/01/14}{精简æ交日期选项。}
+% \begin{macro}{info/defend-date}
+% \changes{v0.14}{2022/01/14}{精简答辩日期选项。}
+% \begin{macro}{info/confer-date}
+% \changes{v0.19}{2022/05/23}{新增国家图书馆å°é¢çš„å­¦ä½æŽˆäºˆæ—¥æœŸè®¾ç½®é¡¹ã€‚}
+% \begin{macro}{info/bottom-date}
+% \changes{v0.19}{2022/05/23}{新增国家图书馆å°é¢çš„底部日期设置项。}
+% \begin{variable}{\g_@@_info_submitdate_tl,\g_@@_info_defenddate_tl,
+% \g_@@_info_bottomdate_tl,\g_@@_info_conferdate_tl}
+% 日期。
+% \begin{macrocode}
+\clist_map_inline:nn { submit, defend, confer, bottom }
+ {
+ \keys_define:nn { nju / info }
+ {
+ #1-date .code:n = \@@_date:nn {#1} {##1},
+ #1-date .initial:V = \c_@@_name_today_tl
+ }
+ }
+% \end{macrocode}
+% \end{variable}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \end{macro}
%
% 将指定信æ¯é¡¹å½’å…¥ \opt{anonymous} 组,以在盲审模å¼ä¸‹é€‰æ‹©æ€§å±è”½ã€‚
@@ -4744,49 +4587,23 @@ To produce the documentation run the original source files ending with
%</class>
% \end{macrocode}
%
-% \begin{macrocode}
-%<*(def-u|def-g|def-p)>
-\ctex_at_end_preamble:n
- {
-% \end{macrocode}
-% \begin{variable}{\g_@@_info_submitdate_tl}
-% å°† ISO æ ¼å¼çš„原始日期字符串格å¼åŒ–为中文日期表示。
-% \begin{macrocode}
- \@@_date:n { submit }
-% \end{macrocode}
-% \end{variable}
-%
-% \begin{variable}{
-% \g_@@_info_submitdate_en_tl,
-% \g_@@_info_defenddate_tl}
-% 英文æ交日期以åŠç­”辩日期仅用于研究生å°é¢ã€‚
+% \begin{variable}{\g_@@_info_submitdate_en_tl}
+% 研究生å°é¢é¢å¤–需è¦è‹±æ–‡æ—¥æœŸã€‚
% \begin{macrocode}
%<*def-g>
- \@@_date_en:n { submit }
- \@@_date:n { defend }
+\cs_set:Npn \@@_date:nn #1#2
+ { \@@_date:nnn { } {#1} {#2} \@@_date:nnn { _en } {#1} {#2} }
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{
-% \g_@@_info_bottomdate_tl,
-% \g_@@_info_conferdate_tl,
-% \g_@@_info_confer_tl}
-% 底部日期以åŠå­¦ä½æŽˆäºˆæ—¥æœŸä»…用于国家图书馆å°é¢ã€‚
+% \begin{variable}{\g_@@_info_confer_tl}
% \begin{macrocode}
- \bool_if:NT \g_@@_opt_nlcover_bool
- {
- \@@_date:n { bottom }
- \@@_date:n { confer }
- \tl_new:N \g_@@_info_confer_tl
- \tl_set:Nn \g_@@_info_confer_tl
- {
- \textbf { \c_@@_name_nju_tl } \hfil
- \g_@@_info_conferdate_tl
- }
- }
-%</def-g>
+\tl_new:N \g_@@_info_confer_tl
+\tl_set:Nn \g_@@_info_confer_tl
+ {
+ \textbf { \c_@@_name_nju_tl } \hfil
+ \g_@@_info_conferdate_tl
}
-%</(def-u|def-g|def-p)>
% \end{macrocode}
% \end{variable}
%
@@ -4796,7 +4613,6 @@ To produce the documentation run the original source files ending with
% \begin{variable}{\g_@@_info_type_tl}
% 文档类型字样。
% \begin{macrocode}
-%<*def-g>
\tl_new:N \g_@@_info_type_tl
\tl_set:Nx \g_@@_info_type_tl
{ \clist_item:Nn \c_@@_name_type_clist { \g_@@_info_type_int } }
@@ -4867,7 +4683,7 @@ To produce the documentation run the original source files ending with
{
\__fontspec_main_setmainfont:nn { } { Times~New~Roman }
\__fontspec_main_setsansfont:nn { } { Arial }
- \__fontspec_main_setmonofont:nn { Scale = MatchLowercase } { #1 }
+ \__fontspec_main_setmonofont:nn { Scale = MatchLowercase } {#1}
}
\cs_new_protected:Npn \@@_loadfont_latin_win:
{ \@@_loadfont_latin:n { Courier~New } }
@@ -4929,25 +4745,26 @@ To produce the documentation run the original source files ending with
% \begin{macro}{\@@_hide_no_script_msg:}
% éšè— |does not contain script "CJK"| 警告。
% \begin{macrocode}
-\cs_new_protected:Npn \@@_hide_no_script_msg:
+\cs_new:Npn \@@_hide_no_script_msg:
{ \msg_redirect_name:nnn { fontspec } { no-script } { info } }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_loadfont_cjk_win:}
+% \begin{macro}{\@@_loadfont_cjk_win:N,\@@_loadfont_cjk_win:}
% Windows 中文字体。
% \begin{macrocode}
-\cs_new_protected:Npn \@@_loadfont_cjk_win:
+\cs_new:Npn \@@_loadfont_cjk_win:N #1
{
- \setCJKmainfont { SimSun }
- [ \c_@@_name_fakebold_tl, ItalicFont = KaiTi ]
- \setCJKsansfont { SimHei } [ \c_@@_name_fakebold_tl ]
- \setCJKmonofont { FangSong } [ \c_@@_name_fakebold_tl ]
- \setCJKfamilyfont { zhsong } { SimSun } [ \c_@@_name_fakebold_tl ]
- \setCJKfamilyfont { zhhei } { SimHei } [ \c_@@_name_fakebold_tl ]
- \setCJKfamilyfont { zhfs } { FangSong } [ \c_@@_name_fakebold_tl ]
- \setCJKfamilyfont { zhkai } { KaiTi } [ \c_@@_name_fakebold_tl ]
+ \setCJKmainfont { SimSun } [ #1, ItalicFont = KaiTi ]
+ \setCJKsansfont { SimHei } [#1]
+ \setCJKmonofont { FangSong } [#1]
+ \setCJKfamilyfont { zhsong } { SimSun } [#1]
+ \setCJKfamilyfont { zhhei } { SimHei } [#1]
+ \setCJKfamilyfont { zhfs } { FangSong } [#1]
+ \setCJKfamilyfont { zhkai } { KaiTi } [#1]
}
+\cs_new:Npn \@@_loadfont_cjk_win:
+ { \@@_loadfont_cjk_win:N \c_@@_name_fakebold_tl }
% \end{macrocode}
% \end{macro}
%
@@ -5023,9 +4840,9 @@ To produce the documentation run the original source files ending with
% \footnote{\XeTeX 的调整方法æ¥è‡ª \url{https://www.zhihu.com/question/46241367/answer/101660183}。}
% \begin{macrocode}
\sys_if_engine_xetex:T
- { \xeCJKEditPunctStyle {quanjiao} { optimize-kerning = true } }
+ { \xeCJKEditPunctStyle { quanjiao } { optimize-kerning = true } }
\sys_if_engine_luatex:T
- { \defaultCJKfontfeatures { JFM = { zh_CN/{quanjiao,fzpr} } } }
+ { \defaultCJKfontfeatures { JFM = { zh_CN / { quanjiao, fzpr } } } }
\setCJKmainfont { FZShuSong-Z01 }
[ BoldFont = FZXiaoBiaoSong-B05, ItalicFont = FZKai-Z03 ]
\setCJKsansfont { FZXiHeiI-Z08 } [ BoldFont = FZHei-B01 ]
@@ -5107,7 +4924,7 @@ To produce the documentation run the original source files ending with
% \changes{v1.2}{2023/04/30}{在研究生模æ¿è½½å…¥åŽæ–‡ä¸­å®‹ã€‚}
% 研究生å°é¢é¢å¤–需è¦çš„åŽæ–‡ä¸­å®‹ã€‚
% \begin{macrocode}
-\cs_new_protected:Npn \@@_loadfont_stzhongs:
+\cs_new:Npn \@@_loadfont_stzhongs:
{
\fontspec_font_if_exist:nTF { åŽæ–‡ä¸­å®‹ }
{
@@ -5131,7 +4948,7 @@ To produce the documentation run the original source files ending with
\cs_new:Npn \@@_define_math_font:nn #1#2
{
\cs_new:cpn { @@_loadfont_math_ #1 : }
- { \__um_setmathfont:nn { } { #2 } }
+ { \__um_setmathfont:nn { } {#2} }
}
% \end{macrocode}
% \end{macro}
@@ -5512,7 +5329,7 @@ To produce the documentation run the original source files ending with
% å°è£… \pkg{hyperref} çš„ PDF 书签命令。
% \begin{macrocode}
\cs_new:Npn \@@_bookmark_pdf_nosec:nn #1#2
- { \pdfbookmark [0] { #1 } { #2 } }
+ { \pdfbookmark [0] {#1} {#2} }
\cs_new:Npn \@@_bookmark_pdf:nn #1#2
{ \phantomsection \@@_bookmark_pdf_nosec:nn {#1} {#2} }
% \end{macrocode}
@@ -5524,8 +5341,8 @@ To produce the documentation run the original source files ending with
\cs_new:Npn \@@_bookmark:Nnn #1#2#3
{
\bool_if:NTF #1
- { \_@@_bookmark_toc:n { #2 } }
- { \_@@_bookmark_pdf_nosec:nn { #2 } { #3 } }
+ { \_@@_bookmark_toc:n {#2} }
+ { \_@@_bookmark_pdf_nosec:nn {#2} {#3} }
}
% \end{macrocode}
% \end{macro}
@@ -5535,9 +5352,9 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\cs_new:Npn \@@_chapter:Nnn #1#2#3
{
- \chapter * { #2 }
- \@@_bookmark:Nnn #1 { #2 } { #3 }
- \@@_chapter_header:n { #2 }
+ \chapter * {#2}
+ \@@_bookmark:Nnn #1 {#2} {#3}
+ \@@_chapter_header:n {#2}
}
\cs_new:Npn \@@_chapter:n #1
{ \@@_chapter:Nnn \c_true_bool {#1} { } }
@@ -5553,7 +5370,7 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_chapter_header:n #1
{
\bool_if:NTF \g_@@_opt_twoside_bool
- { \markboth { #1 } { #1 } }
+ { \markboth {#1} {#1} }
{ \markboth { \hfill #1 \hfill } { } }
}
% \end{macrocode}
@@ -5562,7 +5379,7 @@ To produce the documentation run the original source files ending with
% \begin{macro}{\njuchapter}
% å°è£…æ— ç¼–å·ç« çŽ¯å¢ƒï¼Œä¾›ç”¨æˆ·åœ¨æ­£æ–‡ä¸­ä½¿ç”¨ã€‚
% \begin{macrocode}
-\NewDocumentCommand \njuchapter { m } { \@@_chapter:n { #1 } }
+\NewDocumentCommand \njuchapter { m } { \@@_chapter:n {#1} }
% \end{macrocode}
% \end{macro}
%
@@ -5609,7 +5426,7 @@ To produce the documentation run the original source files ending with
{ chapter/format = \c_@@_fmt_toctitle_tl }
\@@_chapter:cnn { g_@@_ #2 _showentry_bool } {#1} {#2}
\group_end:
- \@starttoc { #2 }
+ \@starttoc {#2}
}
\cs_generate_variant:Nn \@@_make_toc:nn { vn }
% \end{macrocode}
@@ -5626,8 +5443,8 @@ To produce the documentation run the original source files ending with
toc-entry .bool_set:c = { g_@@_ #3 _showentry_bool },
toc-entry .initial:n = true
}
- \exp_args:Nc \RenewDocumentCommand { #1 } { }
- { \@@_make_toc:vn { #2 name } { #3 } }
+ \exp_args:Nc \RenewDocumentCommand {#1} { }
+ { \@@_make_toc:vn { #2 name } {#3} }
}
% \end{macrocode}
% \end{macro}
@@ -5763,7 +5580,7 @@ To produce the documentation run the original source files ending with
\bool_if:NT \g_@@_opt_load_blx_bool
{
\NewDocumentCommand \addbibresource { m }
- { \clist_gput_right:Nn \g_@@_blx_resource_clist { #1 } }
+ { \clist_gput_right:Nn \g_@@_blx_resource_clist {#1} }
}
% \end{macrocode}
% \end{macro}
@@ -5861,7 +5678,7 @@ To produce the documentation run the original source files ending with
% \item 标签å
% \end{arguments}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_cref_name:n #1
+\cs_new:Npn \@@_cref_name:n #1
{ \crefname {#1} { \@@_name:n {#1} } { \@@_name:n {#1} } }
% \end{macrocode}
% \end{macro}
@@ -5880,7 +5697,7 @@ To produce the documentation run the original source files ending with
% 修改 \pkg{cleveref} 的标签å称。
% \begin{macrocode}
\clist_map_inline:nn { figure, table, appendix, proof }
- { \@@_cref_name:n { #1 } }
+ { \@@_cref_name:n {#1} }
}
% \end{macrocode}
%
@@ -5984,7 +5801,7 @@ To produce the documentation run the original source files ending with
{
\group_begin:
\bool_set_eq:NN \l__circledtext_negative_bool #1
- \__circledtext_handle:Vn \g_@@_fn_ctext_option_clist { #2 }
+ \__circledtext_handle:Vn \g_@@_fn_ctext_option_clist {#2}
\group_end:
}
\cs_generate_variant:Nn \@@_fn_number_circled:Nn { NV }
@@ -6143,6 +5960,13 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\l_@@_thm_share_tl}
+% 存储共享的计数器å称。
+% \begin{macrocode}
+\tl_new:N \l_@@_thm_share_tl
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
\keys_define:nn { nju / theorem }
{
@@ -6185,6 +6009,15 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{theorem/share-counter}
+% \changes{v1.3}{2023/05/07}{批é‡åˆ›å»ºå®šç†ç±»çŽ¯å¢ƒæ—¶å¯ä»¥å…±äº«è®¡æ•°å™¨ã€‚}
+% 是å¦åœ¨åˆ†ç»„内使用åŒä¸€è®¡æ•°å™¨ã€‚
+% \begin{macrocode}
+ share-counter .bool_set:N = \l_@@_thm_share_bool,
+ share-counter .initial:n = false,
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{theorem/define}
% 创建定ç†ç±»çŽ¯å¢ƒã€‚
% \begin{macrocode}
@@ -6193,21 +6026,30 @@ To produce the documentation run the original source files ending with
{
\clist_if_empty:NT \g_@@_thm_type_clist
{ \msg_error:nn { njuthesis } { empty-theorem-type } }
+ \tl_clear:N \l_@@_thm_share_tl
\clist_map_inline:Nn \g_@@_thm_type_clist
- { \@@_thm_define:nn ##1 }
+ { \@@_thm_define:Nnn \l_@@_thm_share_tl ##1 }
}
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_thm_define:nn}
+% \begin{macro}{\@@_thm_define:Nnn}
% é…置定ç†çŽ¯å¢ƒã€‚
% \begin{arguments}
+% \item 共享的计数器å称,|tl| åž‹å˜é‡
% \item 环境å与类型标识,|clist| åž‹å˜é‡
% \item 定ç†å¤´å称
% \end{arguments}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_thm_define:nn #1#2
+\cs_new:Npn \@@_thm_define:Nnn
+ { \@@_thm_define:NNNNnn \l_@@_tmp_clist \l_@@_tmpa_tl \l_@@_tmpb_tl }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_thm_define:NNNNnn}
+% \begin{macrocode}
+\cs_new:Npn \@@_thm_define:NNNNnn #1#2#3#4#5#6
{
\bool_if:NF \g_@@_opt_load_nthm_bool
{ \msg_error:nn { njuthesis } { missing-ntheorem } }
@@ -6218,19 +6060,30 @@ To produce the documentation run the original source files ending with
% 拆分环境å与类型标识。这里是考虑到标识符ä¸ä¸€å®šå‡ºçŽ°åœ¨çŽ¯å¢ƒå中,
% 典型如 \env{proof} 环境默认无编å·ä½†ä¹Ÿä¸å«æ˜Ÿå·ã€‚
% \begin{macrocode}
- \clist_set:Nn \l_@@_tmp_clist { #1 }
- \clist_pop:NN \l_@@_tmp_clist \l_@@_tmpa_tl
- \clist_pop:NN \l_@@_tmp_clist \l_@@_tmpb_tl
+ \clist_set:Nn #1 {#5}
+ \clist_pop:NN #1 #2
+ \clist_pop:NN #1 #3
% \end{macrocode}
% 判断是å¦éœ€è¦è¯æ¯•ç¬¦å·æˆ–ç¼–å·ã€‚
% \begin{macrocode}
- \tl_if_in:NnT \l_@@_tmpb_tl { + }
+ \tl_if_in:NnT #3 { + }
{ \exp_args:NV \theoremsymbol \l_@@_thm_qed_symbol_tl }
- \tl_if_in:NnTF \l_@@_tmpb_tl { * }
- { \@@_thm_new:VVn \l_@@_tmpa_tl \c_novalue_tl {#2} }
- { \@@_thm_new:VVn \l_@@_tmpa_tl \l_@@_thm_counter_tl {#2} }
+ \tl_if_in:NnTF #3 { * }
+ { \@@_thm_new:VVVn #2 \c_novalue_tl #4 {#6} }
+ { \@@_thm_new:VVVn #2 \l_@@_thm_counter_tl #4 {#6} }
+% \end{macrocode}
+% 存储共享的计数器。
+% \begin{macrocode}
+ \bool_if:NT \l_@@_thm_share_bool
+ {
+ \tl_gset_eq:NN #4 #2
+ \bool_gset_false:N \l_@@_thm_share_bool
+ }
+% \end{macrocode}
+% 设置 \pkg{cleveref} 引用å。
+% \begin{macrocode}
\bool_if:NT \g_@@_opt_load_cref_bool
- { \crefname { \l_@@_tmpa_tl } {#2} {#2} }
+ { \exp_args:NV \crefname #2 {#6} {#6} }
% \end{macrocode}
% 清除ä¿å­˜çš„è¯æ¯•ç¬¦å·ã€‚
% \begin{macrocode}
@@ -6239,7 +6092,7 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_thm_new:nnn,\@@_thm_new:VVn}
+% \begin{macro}{\@@_thm_new:nnnn,\@@_thm_new:VVVn}
% 包装 \tn{newtheorem} 以便展开输入的å˜é‡ã€‚æ ¹æ® \file{interface3.pdf}
% 手册 5.3 节最åŽä¸€æ®µå»ºè®®çš„展开顺åºï¼Œè¿™é‡Œå°† |V| åž‹å‚数放在é å‰çš„ä½ç½®ã€‚
% \begin{arguments}
@@ -6250,17 +6103,21 @@ To produce the documentation run the original source files ending with
% æ ¹æ®çŽ¯å¢ƒç»“æŸå‘½ä»¤æ˜¯å¦å­˜åœ¨å¯ä»¥åˆ¤æ–­è¯¥çŽ¯å¢ƒæ˜¯å¦æœ‰å®šä¹‰ï¼Œ
% 相应地å¯ä»¥åˆ©ç”¨å±€éƒ¨å®šä¹‰åˆ‡æ¢å®šä¹‰å’Œé‡å®šä¹‰çŽ¯å¢ƒçš„命令。
% \begin{macrocode}
-\cs_new_protected:Npn \@@_thm_new:nnn #1#2#3
+\cs_new_protected:Npn \@@_thm_new:nnnn #1#2#3#4
{
\group_begin:
\cs_if_exist:cT { end #1 }
{ \cs_set_eq:NN \newtheorem \renewtheorem }
\tl_if_novalue:nTF {#2}
- { \newtheorem * {#1} {#3} }
- { \newtheorem {#1} {#3} [#2] }
+ { \newtheorem * {#1} {#4} }
+ {
+ \tl_if_empty:nTF {#3}
+ { \newtheorem {#1} {#4} [#2] }
+ { \newtheorem {#1} [#3] {#4} }
+ }
\group_end:
}
-\cs_generate_variant:Nn \@@_thm_new:nnn { VVn }
+\cs_generate_variant:Nn \@@_thm_new:nnnn { VVVn }
% \end{macrocode}
% \end{macro}
%
@@ -6295,8 +6152,8 @@ To produce the documentation run the original source files ending with
% å°è£… \tn{unimathsetup}。
% \begin{macrocode}
\bool_if:NTF \g_@@_opt_load_um_bool
- { \cs_new:Npn \@@_um_setup:n #1 { \keys_set:nn { unicode-math } {#1} } }
- { \cs_new:Npn \@@_um_setup:n #1 { } }
+ { \cs_new:Npn \@@_um_setup:n #1 { \keys_set:nn { unicode-math } {#1} } }
+ { \cs_new_eq:NN \@@_um_setup:n \use_none:n }
% \end{macrocode}
% \end{macro}
%
@@ -6451,26 +6308,30 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
+% \changes{v1.3}{2023/05/22}{ç¦ç”¨ \pkg{unicode-math} æ—¶ä¸é…置数学字体。}
% 在 |\begin{document}| 处载入字体以兼容 \pkg{mathtools},
% 并设置å°äºŽç­‰äºŽå·å’Œå®žéƒ¨ç¬¦å·ç­‰çš„æ ·å¼ã€‚
% \begin{macrocode}
-\@@_at_begin_document:n
+\bool_if:NT \g_@@_opt_load_um_bool
{
- \use:c { @@_loadfont_math_ \g_@@_font_math_tl : }
- \bool_if:NT \g_@@_opt_math_leq_bool
- {
- \cs_set_eq:NN \le \leqslant
- \cs_set_eq:NN \ge \geqslant
- \cs_set_eq:NN \leq \leqslant
- \cs_set_eq:NN \geq \geqslant
- }
- \bool_if:NT \g_@@_opt_math_re_bool
+ \@@_at_begin_document:n
{
- \cs_set:Npn \Re { \operatorname { Re } }
- \cs_set:Npn \Im { \operatorname { Im } }
+ \use:c { @@_loadfont_math_ \g_@@_font_math_tl : }
+ \bool_if:NT \g_@@_opt_math_leq_bool
+ {
+ \cs_set_eq:NN \le \leqslant
+ \cs_set_eq:NN \ge \geqslant
+ \cs_set_eq:NN \leq \leqslant
+ \cs_set_eq:NN \geq \geqslant
+ }
+ \bool_if:NT \g_@@_opt_math_re_bool
+ {
+ \cs_set:Npn \Re { \operatorname { Re } }
+ \cs_set:Npn \Im { \operatorname { Im } }
+ }
+ \bool_if:NT \g_@@_opt_math_vec_bool
+ { \cs_set_eq:NN \vec \symbf }
}
- \bool_if:NT \g_@@_opt_math_vec_bool
- { \cs_set_eq:NN \vec \symbf }
}
%</class>
% \end{macrocode}
@@ -6523,12 +6384,13 @@ To produce the documentation run the original source files ending with
% \end{macro}
%
% \begin{macro}{u/cover/info}
+% \changes{v1.3}{2023/05/25}{将本科生å°é¢ä¿¡æ¯æ¢å¤è‡³ v1.1 的宋体格å¼ã€‚}
% 本科生å°é¢ä¿¡æ¯æ å®žä¾‹ã€‚
% \begin{macrocode}
\@@_declare_element:nn { u / cover / info }
{
content = \@@_u_cover_info:,
- format = \zihao { 3 } \kaishu
+ format = \zihao { 3 }
}
% \end{macrocode}
% \end{macro}
@@ -6564,10 +6426,10 @@ To produce the documentation run the original source files ending with
%
% \begin{macro}{\@@_u_cover_info:}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_u_cover_info:
+\cs_new:Npn \@@_u_cover_info:
{
\@@_u_cover_info:NNNN \c_@@_clabelwd_dim \c_@@_crulewd_dim
- \c_@@_hsep_dim \c_empty_tl
+ \c_@@_hsep_dim \kaishu
}
% \end{macrocode}
% \end{macro}
@@ -6737,14 +6599,17 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_g_cover_info:NNNN}
+% \begin{macro}{\@@_g_cover_info:NNNNN}
% 研究生å°é¢ä¸­éƒ¨ä¿¡æ¯æ ã€‚
% \begin{macrocode}
-\cs_new_protected:Npn \@@_g_cover_info:NNNN #1#2#3#4
+\cs_new_protected:Npn \@@_g_cover_info:NNNNN #1#2#3#4#5
{
- \@@_cover_entry_title:NNNN #1 #2 #3 #4
- \clist_map_inline:nn { author, major, field, supvfull }
- { \@@_cover_entry:NNNNn #1 #2 #3 #4 { ##1 } }
+ \bool_if:NTF \g_@@_opt_academic_bool
+ { \clist_set:Nn #1 { author, major, field, supvfull } }
+ { \clist_set:Nn #1 { author, majorc, field, supvfull } }
+ \@@_cover_entry_title:NNNN #2 #3 #4 #5
+ \clist_map_inline:Nn #1
+ { \@@_cover_entry:NNNNn #2 #3 #4 #5 { ##1 } }
}
% \end{macrocode}
% \end{macro}
@@ -6754,7 +6619,7 @@ To produce the documentation run the original source files ending with
\cs_new:Npn \@@_g_cover_info:
{
\tl_set:Nn \l_@@_tmpa_tl { \skip_horizontal:n { .7 cm } }
- \@@_g_cover_info:NNNN \l_@@_tmpa_tl
+ \@@_g_cover_info:NNNNN \l_@@_tmpa_clist \l_@@_tmpa_tl
\c_@@_clabelwd_dim \c_@@_crulewd_dim \c_@@_fmt_coverlabel_tl
}
% \end{macrocode}
@@ -6797,7 +6662,7 @@ To produce the documentation run the original source files ending with
\@@_cover_entry:NNNNn \c_empty_tl #1 #2 #3 { chairman }
\tex_par:D
\@@_box_spread_name:NNn #1 #3 { reviewer }
- \parbox [ t ] { #2 }
+ \parbox [ t ] {#2}
{
\@@_box_multiline:NNn \g_@@_info_reviewer_clist #2 { 5 }
\dim_gset_eq:NN \l_@@_tmpa_dim \tex_prevdepth:D
@@ -7159,20 +7024,21 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\@@_declare_element:nn { g / decl / auth / date }
{
- content = \@@_authdecl_secretlv_g:,
+ content = \@@_g_decl_auth_secretlv:,
format = \zihao { 5 } ,
align = l
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_degree_checkbox:Nn}
+% \begin{macro}{\@@_degree_checkbox:nn}
+% \changes{v1.3}{2023/06/04}{ä¿®å¤ç ”究生出版授æƒä¹¦çš„打勾机制。}
% ä¿¡æ¯æ çš„å­¦ä½å¤é€‰æ¡†ã€‚打勾符å·å¯¹åº” |U+2713|。
% \begin{macrocode}
-\cs_new_protected:Npn \@@_degree_checkbox:Nn #1#2
+\cs_new_protected:Npn \@@_degree_checkbox:nn #1#2
{
\bool_lazy_and:nnTF
- { \g_@@_opt_academic_bool && #1 }
+ { #1 \g_@@_opt_academic_bool }
{ \int_compare_p:n { \g_@@_info_type_int = #2 } }
{
\makebox [ 0 pt ] [l] { \ensuremath { \mdwhtsquare } }
@@ -7200,13 +7066,13 @@ To produce the documentation run the original source files ending with
\c_@@_name_ida_tl & \g_@@_info_id_tl &
\c_@@_name_depta_tl & \g_@@_info_dept_tl &
\c_@@_name_year_tl &
- \tl_range:Nnn \g_@@_info_submitdate_raw_tl {1} {4} \\
+ \tl_range:Nnn \g_@@_info_submitdate_tl {1} {4} \\
\c_@@_name_degreea_tl &
{
- \@@_degree_checkbox:Nn \c_true_bool { 2 } 学术学ä½ç¡•å£« \qquad
- \@@_degree_checkbox:Nn \c_false_bool { 2 } 专业学ä½ç¡•å£« \\
- \@@_degree_checkbox:Nn \c_true_bool { 3 } 学术学ä½åšå£« \qquad
- \@@_degree_checkbox:Nn \c_false_bool { 3 } 专业学ä½åšå£«
+ \@@_degree_checkbox:nn { } { 2 } 学术学ä½ç¡•å£« \qquad
+ \@@_degree_checkbox:nn { ! } { 2 } 专业学ä½ç¡•å£« \\
+ \@@_degree_checkbox:nn { } { 3 } 学术学ä½åšå£« \qquad
+ \@@_degree_checkbox:nn { ! } { 3 } 专业学ä½åšå£«
} \\
\c_@@_name_email_tl & \g_@@_info_email_tl \\
\c_@@_name_supvb_tl &
@@ -7229,10 +7095,10 @@ To produce the documentation run the original source files ending with
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_authdecl_secretlv_g:}
+% \begin{macro}{\@@_g_decl_auth_secretlv:}
% ä¿å¯†ä¿¡æ¯å†…容。
% \begin{macrocode}
-\cs_new_protected:Npn \@@_authdecl_secretlv_g:
+\cs_new_protected:Npn \@@_g_decl_auth_secretlv:
{
\c_@@_name_secretstatus_tl \tex_par:D
\ensuremath { \mdwhtsquare } \c_@@_name_secretfree_tl \tex_par:D
@@ -7485,6 +7351,7 @@ To produce the documentation run the original source files ending with
{
element = { title, top, middle, emblem-img, bottom },
prefix = g / cover-en /,
+ format = \linespread { 1.3 },
top-skip = 0 pt plus 1.2 fil
}
% \end{macrocode}
@@ -7569,24 +7436,28 @@ To produce the documentation run the original source files ending with
% \end{macro}
%
% \begin{macro}{\@@_make_cover:}
-% 生æˆæœ¬ç§‘生或研究生的普通å°é¢ã€‚
+% \changes{v1.3}{2023/05/24}{ä¿®å¤éžç ”究生类型时调用 \opt{nl-cover} 选项的错误。}
+% 调用实例生æˆå°é¢ã€‚
% \begin{macrocode}
%<*(def-u|def-g|def-p)>
\cs_new_protected:Npn \@@_make_cover:
{
%<def-u> \UseInstance { nju } { cover-u }
-%<def-g> \clist_map_inline:nn { front, back, en }
-%<def-g> { \UseInstance { nju } { cover-g- ##1 } }
%<def-p> \UseInstance { nju } { cover-p }
- }
% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@@_make_cover_nl:}
-% 生æˆç ”究生的国家图书馆å°é¢ã€‚
+% 如果在研究生模æ¿ä¸­é€‰æ‹©äº† \opt{nlcover},就生æˆç”¨äºŽç”³è¯·å­¦ä½çš„国家图书馆å°é¢ï¼Œ
+% å之生æˆæ™®é€šå°é¢ã€‚
% \begin{macrocode}
-%<def-g>\cs_new_protected:Npn \@@_make_cover_nl:
-%<def-g> { \UseInstance { nju } { cover-nl } }
+%<*def-g>
+\bool_if:NTF \g_@@_opt_nlcover_bool
+ { \UseInstance { nju } { cover-nl } }
+ {
+ \UseInstance { nju } { cover-g-front }
+ \UseInstance { nju } { cover-g-back }
+ \UseInstance { nju } { cover-g-en }
+ }
+%</def-g>
+ }
% \end{macrocode}
% \end{macro}
%
@@ -7636,7 +7507,7 @@ To produce the documentation run the original source files ending with
\cs_new_protected:Npn \@@_new_img_cmd:nn #1#2
{
\exp_args:Nc \NewDocumentCommand { nju #1 } { o m m }
- { \includegraphics [ width = ##2, height = ##3 ] { #2 } }
+ { \includegraphics [ width = ##2, height = ##3 ] {#2} }
}
% \end{macrocode}
% \end{macro}
@@ -7701,13 +7572,7 @@ To produce the documentation run the original source files ending with
\bool_if:NF \g_@@_opt_draft_bool
{
\pagenumbering { gobble }
-% \end{macrocode}
-% 如果在研究生模æ¿ä¸­é€‰æ‹©äº† \opt{nlcover},就生æˆç”¨äºŽç”³è¯·å­¦ä½çš„国家图书馆å°é¢ï¼Œ
-% å之生æˆæ™®é€šå°é¢ã€‚
-% \begin{macrocode}
- \bool_if:NTF \g_@@_opt_nlcover_bool
- { \@@_make_cover_nl: }
- { \@@_make_cover: }
+ \@@_make_cover:
}
% \end{macrocode}
% 生æˆå°é¢åŽæ¸…除标题中的æ¢è¡ŒæŽ§åˆ¶ç¬¦ï¼Œä¾¿äºŽåœ¨æ‘˜è¦ä¸­è¾“出。
@@ -7993,7 +7858,7 @@ To produce the documentation run the original source files ending with
% \begin{macrocode}
\__nju_cs_clear:N \makelabel
}
- \item \clist_use:cn { g_@@_info_keywords #1 _clist } { #2 }
+ \item \clist_use:cn { g_@@_info_keywords #1 _clist } {#2}
\endlist
}
%</class>
@@ -8168,7 +8033,7 @@ To produce the documentation run the original source files ending with
% 自动结æŸä¸Šä¸€ä¸ª \env{refsection},与章末å‚考文献表格å¼å…¼å®¹æ›´å¥½ã€‚
% \begin{macrocode}
\newrefsection
- \nocite { #2 }
+ \nocite {#2}
\printbibliography [ heading = subbibliography, title = #1 ]
\endrefsection
\group_end:
@@ -8229,7 +8094,7 @@ To produce the documentation run the original source files ending with
\NewDocumentEnvironment { notation } { O { 10 em } O { 5 em } }
{
\@@_chapter:V \c_@@_name_notation_tl
- \@@_make_notation:nn { #1 } { #2 }
+ \@@_make_notation:nn {#1} {#2}
}
{ \endlist \cleardoublepage }
% \end{macrocode}
@@ -8241,7 +8106,7 @@ To produce the documentation run the original source files ending with
\NewDocumentEnvironment { notation* } { O { 10 em } O { 5 em } }
{
\chapter * { \c_@@_name_notation_tl }
- \@@_make_notation:nn { #1 } { #2 }
+ \@@_make_notation:nn {#1} {#2}
}
{ \endlist \cleardoublepage }
%</class>
@@ -8322,6 +8187,10 @@ To produce the documentation run the original source files ending with
% 用于国家图书馆å°é¢çš„专业å称字样
% \begin{macrocode}
%<def-g> { major b } { 专业å称 },
+% \end{macrocode}
+% 用于专业学ä½å°é¢çš„专业å称字样
+% \begin{macrocode}
+%<def-g> { major c } { 专业学ä½ç±»åˆ«(领域) },
{ notation } { 符å·è¡¨ },
%<def-u> { orig decl }
%<def-u> { å—京大学本科毕业论文(设计) \\ 诚信承诺书 },
@@ -8427,14 +8296,6 @@ To produce the documentation run the original source files ending with
{ \@@_define_name:nnn #1 }
% \end{macrocode}
%
-% 对专业硕士的å°é¢æ¡ç›®è¿›è¡Œä¸´æ—¶ä¿®æ”¹ã€‚
-% \begin{macrocode}
-%<*def-g>
-\bool_if:NF \g_@@_opt_academic_bool
- { \tl_set:Nn \c_@@_name_major_tl { 专业学ä½ç±»åˆ«(领域) } }
-%</def-g>
-% \end{macrocode}
-%
% \subsubsection{文本}
% \label{subsubsec:constant-text}
%
@@ -8588,19 +8449,32 @@ To produce the documentation run the original source files ending with
%<def-g|def-p> { pagestyle } { headings },
{ abslabel } { \bfseries },
{ abslabel_en } { },
- { cover title } { },
+%<def-u> { cover title } { \bfseries },
+%<def-g> { cover title } { },
%<def-u> { cover label } { \kaishu },
%<def-g> { cover label } { \bfseries },
%<def-p> { cover label } { },
+% \end{macrocode}
+% 调用 \pkg{njuvisual} 时的校徽颜色。
+% \begin{macrocode}
{ emblem color } { black },
{ name color } { black },
+% \end{macrocode}
+% å„级标题样å¼ã€‚
+% \begin{macrocode}
{ section } { \bigger \normalfont \sffamily },
{ chapter } { \c_@@_fmt_section_tl \centering },
- { chapterintoc } { \c_@@_fmt_section_tl },
{ subsection } { \c_@@_fmt_section_tl },
{ subsubsection } { \c_@@_fmt_section_tl },
{ paragraph } { \c_@@_fmt_section_tl },
{ subparagraph } { \c_@@_fmt_section_tl },
+% \end{macrocode}
+% 目录中的章标题样å¼ã€‚
+% \begin{macrocode}
+ { chapterintoc } { \c_@@_fmt_section_tl },
+% \end{macrocode}
+% “目录â€äºŒå­—çš„æ ·å¼ã€‚
+% \begin{macrocode}
{ toc title } { \centering \zihao { 3 } \bfseries },
{ header } { \small \kaishu },
{ footer } { \small \rmfamily }
@@ -8609,5 +8483,474 @@ To produce the documentation run the original source files ending with
%</(def-u|def-g|def-p)>
% \end{macrocode}
%
+%
+% \subsection{手册文档类 \cls{njuthesis-doc}}
+% \changes{v1.3}{2023/05/12}{将手册样å¼è®¾ç½®æ‹†åˆ†ä¸ºå•ç‹¬çš„ \cls{njuthesis-doc} 文档类。}
+%
+% \begin{macrocode}
+%<*doc-cls>
+%<@@=njudoc>
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\RequirePackage { l3keys2e }
+% \end{macrocode}
+%
+% \subsubsection{选项}
+%
+% \begin{macrocode}
+\keys_define:nn { njudoc }
+ {
+ codehigh .bool_set:N = \g_@@_codehigh_bool,
+ codehigh .initial:n = false
+ }
+\ProcessKeysOptions { njudoc }
+% \end{macrocode}
+%
+% \subsubsection{载入å®åŒ…}
+%
+% \begin{macrocode}
+\PassOptionsToPackage { fontset = fandol } { ctex }
+\PassOptionsToPackage { firstpage = true } { background }
+% \end{macrocode}
+%
+% 载入基础文档类。
+% \begin{macrocode}
+\LoadClass { ctxdoc }
+% \end{macrocode}
+%
+% 载入å®åŒ…。
+% \begin{macrocode}
+\RequirePackage
+ {
+ background,
+ codehigh,
+ listings,
+ njuvisual,
+ tabularray,
+ unicode-math,
+ zhlineskip
+ }
+\sys_if_engine_xetex:TF
+ {
+ \RequirePackage { xeCJKfntef }
+ \renewcommand\emph[1]{\CJKunderdot[textformat=\itshape]{#1}}
+ }
+ {
+ \RequirePackage { lua-ul }
+ \NewDocumentCommand \CJKunderline { o m } { \underLine {#1} }
+ \NewDocumentCommand \CJKunderdot { o m } { \underLine {#1} }
+ \NewDocumentCommand \CJKsout { o m }
+ { \textcolor { black!50 } {#1} }
+ }
+% \end{macrocode}
+%
+% \subsubsection{æ‚项}
+%
+% å°é¢èƒŒæ™¯å›¾æ¡ˆã€‚
+% \begin{macrocode}
+\backgroundsetup{
+ contents={\njuemblem[white!85!gray]{22cm}{!}},
+ scale=1, angle=0, hshift=-4cm
+}
+% \end{macrocode}
+%
+% 文档命令。
+% \begin{macrocode}
+\definecolor{tpblue}{HTML}{495A80}
+\newcommand\tpbutton[1]{\textcolor{tpblue}{\bfseries #1}}
+\newcommand\tikzlogo{Ti\emph{k}Z}
+\newcommand\OPT[1]{\textcolor{njuyellow}{\bfseries#1}}
+% \end{macrocode}
+%
+% \pkg{hyperref} 设置。
+% \begin{macrocode}
+\hypersetup{
+ pdftitle = {
+ The~ njuthesis~ class~ -~
+ LaTeX~ thesis~ template~ for~ Nanjing~ University},
+ citecolor = njublue,
+ linkcolor = njuviolet,
+ urlcolor = njumagenta}
+% \end{macrocode}
+%
+% \pkg{tabularray} 设置。
+% \begin{macrocode}
+\UseTblrLibrary{booktabs,siunitx}
+\DefTblrTemplate{caption-tag}{default}{表\hspace{0.25em}\thetable}
+\SetTblrStyle{caption-tag}{font=\bfseries}
+\SetTblrInner{row{1}={font=\bfseries}}
+\SetTblrInner[talltblr]{row{1}={font=\bfseries}}
+\DefTblrTemplate{caption-sep}{default}{\quad}
+% \end{macrocode}
+%
+% \pkg{tabularray} 表格标签简写。
+% \begin{macrocode}
+\def\TA{\TblrNote{a}}
+\def\TB{\TblrNote{b}}
+\def\TC{\TblrNote{c}}
+\def\TD{\TblrNote{d}}
+\def\TE{\TblrNote{e}}
+% \end{macrocode}
+%
+%
+% \TeX{} 相关的å称简写。
+% \begin{macrocode}
+\def\TL{\TeX~Live}
+\def\MacTeX{Mac\TeX}
+\def\biber{\hologo{biber}}
+\def\LaTeXe{\hologo{LaTeX2e}}
+% \end{macrocode}
+%
+% \pkg{zhlineskip} 设置。
+% \begin{macrocode}
+\SetTextEnvironmentSinglespace{1.112}
+\SetMathEnvironmentSinglespace{1.112}
+% \end{macrocode}
+%
+% \subsubsection{字体设置}
+%
+% \begin{macrocode}
+\setmainfont { texgyretermes }
+ [
+ Extension = .otf,
+ UprightFont = *-regular,
+ BoldFont = *-bold,
+ ItalicFont = *-italic,
+ BoldItalicFont = *-bolditalic
+ ]
+% \end{macrocode}
+%
+% éœ€è¦ \pkg{lexend}。
+% \begin{macrocode}
+\setsansfont{LexendDeca}
+% \end{macrocode}
+%
+% Iosevka。
+% \begin{macrocode}
+\fontspec_font_if_exist:nT { Iosevka }
+ {
+ \setmonofont { Iosevka }
+ [
+ UprightFont = *~Light,
+ ItalicFont = *~Light~Italic,
+ BoldFont = *~Semibold
+ ]
+ }
+% \end{macrocode}
+%
+% æ€æºå®‹ä½“。
+% \begin{macrocode}
+\fontspec_font_if_exist:nT { Source~ Han~ Serif~ SC }
+ {
+ \setCJKmainfont{ Source~ Han~ Serif~ SC }
+ [
+ UprightFont = *~SemiBold,
+ ItalicFont = *~Bold,
+ BoldFont = *~Heavy,
+ Language = Chinese~Simplified
+ ]
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\setCJKsansfont { FandolHei-Regular }
+ [
+ Extension = .otf,
+ BoldFont = FandolHei-Bold
+ ]
+\setCJKmonofont { FandolFang-Regular }
+ [ Extension = .otf ]
+% \end{macrocode}
+%
+% XITS。
+% \begin{macrocode}
+\setmathfont{XITSMath-Regular}[
+ BoldFont = XITSMath-Bold,
+ Extension = .otf]
+% \end{macrocode}
+%
+% \pkg{listings} 设置。
+% \begin{macrocode}
+\lstdefinestyle{style@base}
+ {
+ basewidth = 0.5 em,
+ gobble = 3,
+ lineskip = 3 pt,
+ frame = l,
+ framerule = 1 pt,
+ framesep = 0 pt,
+ xleftmargin = 2 em,
+ xrightmargin = 3 em,
+ escapeinside = {(*}{*)},
+ breaklines = true,
+ basicstyle = \small\ttfamily,
+ keywordstyle = \bfseries\color{njuviolet},
+ commentstyle = \itshape\color{white!50!gray},
+ stringstyle = \color{nju-chem-red},
+ backgroundcolor = \color{white!95!gray}
+ }
+\lstdefinestyle{style@shell}
+ {
+ style = style@base,
+ rulecolor = \color{njumagenta},
+ language = bash,
+ alsoletter = {-},
+ emphstyle = \color{nju-cs-green}
+ }
+\lstdefinestyle{style@latex}
+ {
+ style = style@base,
+ rulecolor = \color{njublue},
+ language = [LaTeX]TeX,
+ alsoletter = {*, -, .},
+ texcsstyle = *\color{njuviolet},
+ emphstyle = [1]\color{nju-ai-orange},
+ emphstyle = [2]\color{nju-cs-green},
+ emphstyle = [3]\bfseries\color{njuyellow}
+ }
+% \end{macrocode}
+%
+% 代ç æ¡†çŽ¯å¢ƒã€‚
+% \begin{macrocode}
+\lstnewenvironment{shellexample}[1][]{%
+ \lstset{style=style@shell, #1}}{}
+\lstnewenvironment{latexexample}[1][]{%
+ \lstset{style=style@latex, #1}}{}
+% \end{macrocode}
+%
+%
+% \subsubsection{标签颜色设置}
+%
+% 我们对æ¯ä¸ª guard 进行特定的颜色标记,
+% 而ä¸æ˜¯ \cls{ctxdoc} 中使用深浅表明嵌套关系。
+%
+% \begin{macrocode}
+\colorlet { at@guard } { njuviolet }
+\definecolor { angle@guard } { gray } { 0.7 }
+\definecolor { star@guard } { rgb } { 0.8 , 0 , 0 }
+\definecolor { u@guard } { HTML } { 5463FF }
+\definecolor { g@guard } { HTML } { 2B7A0B }
+\definecolor { p@guard } { HTML } { FF1818 }
+\definecolor { c@guard } { HTML } { FFC300 }
+% \end{macrocode}
+%
+% \begin{variable}{\c@@_module_color_prop}
+% 存储 guard å称和对应的颜色。
+% \begin{macrocode}
+\prop_const_from_keyval:Nn \c@@_module_color_prop
+ {
+ def-u = u@guard,
+ def-g = g@guard,
+ def-p = p@guard
+ }
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_set_module_color:n}
+%
+% \begin{macrocode}
+\cs_new:Npn \@@_set_module_color:Nn #1#2
+ {
+ \prop_get:NnNF \c@@_module_color_prop {#2} #1
+ { \tl_set:Nn #1 { c@guard } }
+ \exp_args:NV \color #1 #2
+ }
+\cs_new:Npn \@@_set_module_color:n
+ { \@@_set_module_color:Nn \l_tmpa_tl }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_module_angle:Nn}
+% 生æˆå®Œæ•´çš„带颜色的 guard 标签。
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_module_angle:Nn #1#2
+ {
+ \group_begin: \color { angle@guard } \ttfamily \textlangle \group_end:
+ \group_begin: \sffamily #2 \group_end:
+ \group_begin: \color { angle@guard } #1 \ttfamily \textrangle \group_end:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\__ctxdoc_module_angle:n}
+% è¡¥ä¸ã€‚
+% \begin{macrocode}
+\cs_set:Npn \__ctxdoc_module_angle:n
+ { \@@_module_angle:Nn \c_empty_tl }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_colored_module_angle:NN}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_colored_module_angle:NN #1#2
+ {
+ \seq_clear:N #2
+ \seq_map_inline:Nn #1
+ {
+ \seq_gput_right:Nn #2
+ { \@@_set_module_color:n {##1} }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_print_module:n}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_print_module:n #1
+ {
+ \@@_colored_module_angle:NN \l_tmpa_seq \l_tmpb_seq
+ \bool_lazy_or:nnTF
+ { \str_if_empty_p:n {#1} }
+ { \int_compare_p:n { \seq_count:N \l_tmpb_seq = 1 } }
+ {
+ \str_clear:N \l_tmpa_str
+ \str_clear:N \l_tmpb_str
+ }
+ {
+ \str_set:Nn \l_tmpa_str { ( }
+ \str_set:Nn \l_tmpb_str { ) }
+ }
+ \@@_module_angle:Nn \l_tmpb_str
+ {
+ \color { star@guard } #1
+ \color { angle@guard } \l_tmpa_str
+ \seq_use:Nn \l_tmpb_seq
+ { \color { angle@guard } \orbar }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\@@_split_pm:n,\@@_split_pm:V}
+% 通过竖线分割 guard 标签。
+% \begin{macrocode}
+\cs_new:Npn \@@_split_pm:n
+ { \seq_set_split:Nnn \l_tmpa_seq { | } }
+\cs_generate_variant:Nn \@@_split_pm:n { V }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_split_m:n}
+%
+% \begin{macrocode}
+\cs_new_protected_nopar:Npn \@@_split_m:n #1
+ {
+ \tl_set:Nn \l_tmpa_str {#1}
+ \clist_map_inline:nn { *, /, (, ) }
+ { \str_remove_all:Nn \l_tmpa_str {##1} }
+ \@@_split_pm:V \l_tmpa_str
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+\group_begin:
+ \char_set_catcode_active:N \>
+% \end{macrocode}
+%
+% \begin{macro}{\__ctxdoc_module_star:w}
+% \begin{macrocode}
+ \cs_gset_protected:Npn \__ctxdoc_module_star:w #1 > #2 \q_stop
+ {
+ \__ctxdoc_output_module:nn
+ { \@@_split_m:n {#1} }
+ { \__ctxdoc_module_push:n { \@@_print_module:n { * } } }
+ \__ctxdoc_output_line:n {#2}
+ \__ctxdoc_star_format:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\__ctxdoc_module_slash:w}
+% \begin{macrocode}
+ \cs_gset_protected:Npn \__ctxdoc_module_slash:w #1 > #2 \q_stop
+ {
+ \__ctxdoc_output_module:nn
+ { \@@_split_m:n {#1} }
+ { \__ctxdoc_module_pop:n { \@@_print_module:n { / } } }
+ \__ctxdoc_output_line:n {#2}
+ \__ctxdoc_slash_format:
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\__ctxdoc_module_pm:w}
+% \begin{macrocode}
+ \cs_gset_protected:Npn \__ctxdoc_module_pm:w #1 > #2 \q_stop
+ {
+ \tex_noindent:D
+ \hbox_overlap_left:n
+ {
+ \__ctxdoc_output_module:nn
+ { \@@_split_pm:n {#1} }
+ { \@@_print_module:n { } }
+ \skip_horizontal:n { \leftskip + \smallskipamount }
+ }
+ \group_begin:
+ \__ctxdoc_pm_format:
+ \__ctxdoc_output_line:n {#2}
+ \group_end:
+ }
+\group_end:
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\grd,\sgrd,\pgrd}
+% 在手册中生æˆå¸¦é¢œè‰²çš„ guard 标记。
+% \begin{macrocode}
+\NewDocumentCommand \grd { m }
+ { \__ctxdoc_module_angle:n { \color { njuviolet } #1 } }
+\NewDocumentCommand \sgrd { m }
+ { \__ctxdoc_module_angle:n { \color { star@guard } * \color{ c@guard } #1 } }
+\NewDocumentCommand \pgrd { m }
+ { \__ctxdoc_module_angle:n { \color { #1 @guard } def- #1 } }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsubsection{语法高亮}
+%
+% \begin{macro}{\@@_output_line:}
+% \cls{ctxdoc} å°† \file{.dtx} 文件中读å–的代ç è¡Œå­˜å‚¨åœ¨
+% \cs{l__ctxdoc_verbatim_line_tl},我们使用 \pkg{codehigh} æ供的内部函数
+% 将其转化为带有语法高亮的格å¼å¹¶è¾“出。默认读å–的代ç è¡Œå°¾å¸¦æœ‰ |^^M|,
+% 直接输入高亮函数会导致代ç å¿«å°¾éƒ¨æœ‰é¢å¤–空行,需è¦æ‰‹åŠ¨åˆ åŽ»ã€‚
+% \begin{macrocode}
+\cs_generate_variant:Nn \tl_remove_once:Nn { NV }
+\cs_set_protected_nopar:Npn \@@_output_line:N #1
+ {
+ \tex_noindent:D
+ \__ctxdoc_replace_at_at:N #1
+ \tl_remove_once:NV #1 \c__ctxdoc_active_cr_tl
+ \__codehigh_parse_code:nN { latex / latex3 } #1
+ \tex_par:D
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\__ctxdoc_output_line:}
+% 在 \XeTeX{} 引擎下,\pkg{codehigh} 调用的 \pkg{l3regex} 模å—有严é‡çš„性能问题。
+% 我们仅仅在需è¦æ—¶å¯ç”¨é«˜äº®ã€‚
+% \begin{macrocode}
+\bool_if:NT \g_@@_codehigh_bool
+ {
+ \cs_set:Npn \__ctxdoc_output_line:
+ { \@@_output_line:N \l__ctxdoc_verbatim_line_tl }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+%</doc-cls>
+% \end{macrocode}
+%
% \end{implementation}
%
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.ins b/macros/unicodetex/latex/njuthesis/njuthesis.ins
index aa1be50504..49f6f539ce 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.ins
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.ins
@@ -54,6 +54,7 @@ To produce the documentation run the original source files ending with
\file{\jobname-undergraduate.def} {\from{\jobname.dtx}{def-u}}
\file{\jobname-graduate.def} {\from{\jobname.dtx}{def-g}}
\file{\jobname-postdoctoral.def} {\from{\jobname.dtx}{def-p}}
+ \file{\jobname-doc.cls} {\from{\jobname.dtx}{doc-cls}}
}
\obeyspaces
@@ -65,6 +66,7 @@ To produce the documentation run the original source files ending with
\Msg{* The recommended directory is TDS:tex/latex/njuthesis *}
\Msg{* *}
\Msg{* njuthesis.cls *}
+\Msg{* njuthesis-doc.cls *}
\Msg{* njuthesis-graduate.def *}
\Msg{* njuthesis-postdoctoral.def *}
\Msg{* njuthesis-undergraduate.def *}
@@ -78,13 +80,6 @@ To produce the documentation run the original source files ending with
\Msg{*************************************************************}
\endbatchfile
- % \begin{syntax}
- % \OPT{degree} = \Arg{中文学ä½å}
- % \OPT{degree*} = \Arg{英文学ä½å}
- % \end{syntax}
- % 研究生国家图书馆å°é¢è‹±æ–‡å°é¢ä¸Šçš„å­¦ä½å称。默认会由模æ¿é€šè¿‡ \opt{degree}
- % å’Œ \opt{type} 文档类选项生æˆï¼Œä¹Ÿå¯ä»¥ç”±æœ¬é€‰é¡¹è‡ªå®šä¹‰å称。
- % \end{function}
\endinput
%%
diff --git a/macros/unicodetex/latex/njuthesis/njuthesis.pdf b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
index 521d6e187b..14ead75879 100644
--- a/macros/unicodetex/latex/njuthesis/njuthesis.pdf
+++ b/macros/unicodetex/latex/njuthesis/njuthesis.pdf
Binary files differ
diff --git a/support/texlab/CHANGELOG.md b/support/texlab/CHANGELOG.md
index b165ced68e..cca502b4d3 100644
--- a/support/texlab/CHANGELOG.md
+++ b/support/texlab/CHANGELOG.md
@@ -5,6 +5,22 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [5.7.0] - 2023-06-07
+
+### Added
+
+- Add symbol support for `thmtools` package ([#894](https://github.com/latex-lsp/texlab/issues/894))
+- Add `texlab.findEnvironments` command to return the list of environments containing a position ([#892](https://github.com/latex-lsp/texlab/issues/892))
+
+### Changed
+
+- Show inlay hints for labels after the command instead of inside the argument ([#890](https://github.com/latex-lsp/texlab/issues/890))
+
+### Fixed
+
+- Prevent adding trailing newline after formatting with `latexmk` ([#895](https://github.com/latex-lsp/texlab/issues/895))
+- Improving `\paragraph` parsing
+
## [5.6.0] - 2023-05-20
### Added
diff --git a/support/texlab/Cargo.lock b/support/texlab/Cargo.lock
index aceaaf083a..b69b6e82e8 100644
--- a/support/texlab/Cargo.lock
+++ b/support/texlab/Cargo.lock
@@ -106,17 +106,6 @@ dependencies = [
]
[[package]]
-name = "atty"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
-dependencies = [
- "hermit-abi 0.1.19",
- "libc",
- "winapi",
-]
-
-[[package]]
name = "autocfg"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -256,18 +245,6 @@ dependencies = [
[[package]]
name = "clap"
-version = "3.2.25"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123"
-dependencies = [
- "bitflags",
- "clap_lex 0.2.4",
- "indexmap",
- "textwrap",
-]
-
-[[package]]
-name = "clap"
version = "4.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc"
@@ -286,7 +263,7 @@ dependencies = [
"anstream",
"anstyle",
"bitflags",
- "clap_lex 0.5.0",
+ "clap_lex",
"strsim",
]
@@ -304,15 +281,6 @@ dependencies = [
[[package]]
name = "clap_lex"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
-dependencies = [
- "os_str_bytes",
-]
-
-[[package]]
-name = "clap_lex"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
@@ -331,12 +299,15 @@ dependencies = [
"base-db",
"bstr",
"crossbeam-channel",
+ "distro",
+ "insta",
"itertools",
"libc",
"log",
"rowan",
"rustc-hash",
"syntax",
+ "test-utils",
"thiserror",
"url",
]
@@ -379,19 +350,19 @@ dependencies = [
[[package]]
name = "criterion"
-version = "0.4.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
+checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f"
dependencies = [
"anes",
- "atty",
"cast",
"ciborium",
- "clap 3.2.25",
+ "clap",
"criterion-plot",
+ "is-terminal",
"itertools",
- "lazy_static",
"num-traits",
+ "once_cell",
"oorandom",
"plotters",
"rayon",
@@ -683,15 +654,6 @@ checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
name = "hermit-abi"
-version = "0.1.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "hermit-abi"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
@@ -735,16 +697,6 @@ dependencies = [
]
[[package]]
-name = "indexmap"
-version = "1.9.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
-dependencies = [
- "autocfg",
- "hashbrown",
-]
-
-[[package]]
name = "inotify"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1012,9 +964,9 @@ dependencies = [
[[package]]
name = "notify"
-version = "5.2.0"
+version = "6.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "729f63e1ca555a43fe3efa4f3efdf4801c479da85b432242a7b726f353c88486"
+checksum = "4d9ba6c734de18ca27c8cef5cd7058aa4ac9f63596131e4c7e41e579319032a2"
dependencies = [
"bitflags",
"crossbeam-channel",
@@ -1076,12 +1028,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]]
-name = "os_str_bytes"
-version = "6.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ceedf44fb00f2d1984b0bc98102627ce622e083e49a5bacdb3e514fa4238e267"
-
-[[package]]
name = "parking_lot"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1566,13 +1512,13 @@ dependencies = [
[[package]]
name = "texlab"
-version = "5.6.0"
+version = "5.7.0"
dependencies = [
"anyhow",
"assert_unordered",
"base-db",
"citeproc",
- "clap 4.3.0",
+ "clap",
"commands",
"criterion",
"crossbeam-channel",
@@ -1614,12 +1560,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "288cb548dbe72b652243ea797201f3d481a0609a967980fcc5b2315ea811560a"
[[package]]
-name = "textwrap"
-version = "0.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
-
-[[package]]
name = "thiserror"
version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
diff --git a/support/texlab/crates/base-db/Cargo.toml b/support/texlab/crates/base-db/Cargo.toml
index c968cefac9..2b44acaf3c 100644
--- a/support/texlab/crates/base-db/Cargo.toml
+++ b/support/texlab/crates/base-db/Cargo.toml
@@ -7,15 +7,15 @@ edition.workspace = true
rust-version.workspace = true
[dependencies]
-dirs = "5.0.0"
+dirs = "5.0.1"
distro = { path = "../distro" }
itertools = "0.10.5"
log = "0.4.17"
-notify = "5.1.0"
+notify = "6.0.0"
once_cell = "1.17.1"
parser = { path = "../parser" }
percent-encoding = "2.2.0"
-regex = "1.7.3"
+regex = "1.8.1"
rowan = "0.15.11"
rustc-hash = "1.1.0"
syntax = { path = "../syntax" }
diff --git a/support/texlab/crates/base-db/src/diagnostics/bib.rs b/support/texlab/crates/base-db/src/diagnostics/bib.rs
index f931a43c51..67fcf412ad 100644
--- a/support/texlab/crates/base-db/src/diagnostics/bib.rs
+++ b/support/texlab/crates/base-db/src/diagnostics/bib.rs
@@ -41,8 +41,6 @@ fn analyze_entry(document: &mut Document, entry: bibtex::Entry) {
range: TextRange::empty(entry.syntax().text_range().end()),
code: ErrorCode::ExpectingRCurly,
});
-
- return;
}
}
@@ -63,7 +61,5 @@ fn analyze_field(document: &mut Document, field: bibtex::Field) {
range: field.name_token().unwrap().text_range(),
code,
});
-
- return;
}
}
diff --git a/support/texlab/crates/base-db/src/graph.rs b/support/texlab/crates/base-db/src/graph.rs
index b16245e011..5e727d2bd2 100644
--- a/support/texlab/crates/base-db/src/graph.rs
+++ b/support/texlab/crates/base-db/src/graph.rs
@@ -108,7 +108,7 @@ impl<'a> Graph<'a> {
let new_base_dir = link
.base_dir
.as_deref()
- .and_then(|path| base_dir.join(&path).ok())
+ .and_then(|path| base_dir.join(path).ok())
.unwrap_or_else(|| base_dir.clone());
let weight = Some(EdgeWeight {
@@ -148,7 +148,7 @@ impl<'a> Graph<'a> {
path.set_extension(extension);
let Some(target_uri) = path.file_name()
.and_then(OsStr::to_str)
- .and_then(|name| self.workspace.output_dir(base_dir).join(&name).ok()) else { return };
+ .and_then(|name| self.workspace.output_dir(base_dir).join(name).ok()) else { return };
match self.workspace.lookup(&target_uri) {
Some(target) => {
diff --git a/support/texlab/crates/base-db/src/semantics/tex.rs b/support/texlab/crates/base-db/src/semantics/tex.rs
index 46c805ba8a..1445ae12e7 100644
--- a/support/texlab/crates/base-db/src/semantics/tex.rs
+++ b/support/texlab/crates/base-db/src/semantics/tex.rs
@@ -105,6 +105,7 @@ impl Semantics {
fn process_label_definition(&mut self, label: latex::LabelDefinition) {
let Some(name) = label.name().and_then(|group| group.key()) else { return };
+ let full_range = latex::small_range(&label);
let mut objects = Vec::new();
for node in label.syntax().ancestors() {
if let Some(section) = latex::Section::cast(node.clone()) {
@@ -169,27 +170,32 @@ impl Semantics {
kind: LabelKind::Definition,
name: Span::from(&name),
targets: objects,
+ full_range,
});
}
fn process_label_reference(&mut self, label: latex::LabelReference) {
let Some(name_list) = label.name_list() else { return };
+ let full_range = latex::small_range(&label);
for name in name_list.keys() {
self.labels.push(Label {
kind: LabelKind::Reference,
name: Span::from(&name),
targets: Vec::new(),
+ full_range,
});
}
}
fn process_label_reference_range(&mut self, label: latex::LabelReferenceRange) {
+ let full_range = latex::small_range(&label);
if let Some(from) = label.from().and_then(|group| group.key()) {
self.labels.push(Label {
kind: LabelKind::ReferenceRange,
name: Span::from(&from),
targets: Vec::new(),
+ full_range,
});
}
@@ -198,6 +204,7 @@ impl Semantics {
kind: LabelKind::ReferenceRange,
name: Span::from(&to),
targets: Vec::new(),
+ full_range,
});
}
}
@@ -216,13 +223,11 @@ impl Semantics {
fn process_theorem_definition(&mut self, theorem_def: latex::TheoremDefinition) {
let Some(name) = theorem_def.name().and_then(|name| name.key()) else { return };
- let Some(description) = theorem_def
- .heading()
- .and_then(|group| group.content_text()) else { return };
+ let Some(heading) = theorem_def.heading() else { return };
self.theorem_definitions.push(TheoremDefinition {
name: Span::from(&name),
- heading: description,
+ heading,
});
}
}
@@ -265,6 +270,7 @@ pub struct Label {
pub kind: LabelKind,
pub name: Span,
pub targets: Vec<LabelTarget>,
+ pub full_range: TextRange,
}
#[derive(Debug, Clone)]
diff --git a/support/texlab/crates/base-db/src/workspace.rs b/support/texlab/crates/base-db/src/workspace.rs
index 581d93cfc3..58c7567f9d 100644
--- a/support/texlab/crates/base-db/src/workspace.rs
+++ b/support/texlab/crates/base-db/src/workspace.rs
@@ -75,7 +75,8 @@ impl Workspace {
Cow::Owned(text) => text,
};
- Ok(self.open(uri, text, language, owner, LineCol { line: 0, col: 0 }))
+ self.open(uri, text, language, owner, LineCol { line: 0, col: 0 });
+ Ok(())
}
pub fn edit(&mut self, uri: &Url, delete: TextRange, insert: &str) -> Option<()> {
diff --git a/support/texlab/crates/citeproc/Cargo.toml b/support/texlab/crates/citeproc/Cargo.toml
index 353292c484..fb230323b0 100644
--- a/support/texlab/crates/citeproc/Cargo.toml
+++ b/support/texlab/crates/citeproc/Cargo.toml
@@ -8,7 +8,7 @@ rust-version.workspace = true
[dependencies]
chrono = { version = "0.4.24", default-features = false, features = ["std"] }
-human_name = "2.0.1"
+human_name = "2.0.2"
isocountry = "0.3.2"
itertools = "0.10.5"
rowan = "0.15.11"
diff --git a/support/texlab/crates/commands/Cargo.toml b/support/texlab/crates/commands/Cargo.toml
index 68d034675e..1f3a1bddd9 100644
--- a/support/texlab/crates/commands/Cargo.toml
+++ b/support/texlab/crates/commands/Cargo.toml
@@ -7,7 +7,7 @@ edition.workspace = true
rust-version.workspace = true
[dependencies]
-anyhow = "1.0.70"
+anyhow = "1.0.71"
base-db = { path = "../base-db" }
bstr = "1.4.0"
crossbeam-channel = "0.5.8"
@@ -20,5 +20,10 @@ syntax = { path = "../syntax" }
thiserror = "1.0.40"
url = "2.3.1"
+[dev-dependencies]
+distro = { path = "../distro" }
+insta = { version = "1.29.0", features = ["json"] }
+test-utils = { path = "../test-utils" }
+
[lib]
doctest = false
diff --git a/support/texlab/crates/commands/src/find_envs.rs b/support/texlab/crates/commands/src/find_envs.rs
new file mode 100644
index 0000000000..20b11c9e37
--- /dev/null
+++ b/support/texlab/crates/commands/src/find_envs.rs
@@ -0,0 +1,65 @@
+use base_db::{semantics::Span, Document, DocumentData};
+use rowan::{ast::AstNode, TextRange, TextSize};
+use syntax::latex;
+
+#[derive(Debug, PartialEq, Eq, Clone)]
+pub struct EnvironmentMatch {
+ pub name: Span,
+ pub full_range: TextRange,
+}
+
+pub fn find_environments(document: &Document, offset: TextSize) -> Vec<EnvironmentMatch> {
+ let DocumentData::Tex(data) = &document.data else { return Vec::new() };
+
+ let root = latex::SyntaxNode::new_root(data.green.clone());
+
+ let Some(token) = root.token_at_offset(offset).right_biased() else { return Vec::new() };
+
+ let mut results = Vec::new();
+ for environment in token
+ .parent_ancestors()
+ .filter_map(latex::Environment::cast)
+ {
+ let Some(name) = environment
+ .begin()
+ .and_then(|begin| begin.name())
+ .and_then(|group| group.key())
+ .map(|name| Span::from(&name)) else { continue };
+
+ let full_range = latex::small_range(&environment);
+ results.push(EnvironmentMatch { name, full_range });
+ }
+
+ results.reverse();
+ results
+}
+
+#[cfg(test)]
+mod tests {
+ use insta::assert_debug_snapshot;
+ use test_utils::fixture::Fixture;
+
+ use crate::find_environments;
+
+ #[test]
+ fn test() {
+ let fixture = Fixture::parse(
+ r#"
+%! main.tex
+\begin{a}
+ \begin{b}
+ \begin{c}
+ |
+ \end{c}
+ \end{b}
+ \begin{d}
+ \end{d}
+\end{a}"#,
+ );
+
+ let workspace = fixture.workspace;
+ let document = workspace.iter().next().unwrap();
+ let results = find_environments(&document, fixture.documents[0].cursor.unwrap());
+ assert_debug_snapshot!(results);
+ }
+}
diff --git a/support/texlab/crates/commands/src/fwd_search.rs b/support/texlab/crates/commands/src/fwd_search.rs
index fc0a130f86..55c2df59a0 100644
--- a/support/texlab/crates/commands/src/fwd_search.rs
+++ b/support/texlab/crates/commands/src/fwd_search.rs
@@ -75,12 +75,12 @@ impl ForwardSearch {
};
if !pdf_path.exists() {
- return Err(ForwardSearchError::PdfNotFound(pdf_path.clone()));
+ return Err(ForwardSearchError::PdfNotFound(pdf_path));
}
let tex_path = tex_path.to_string_lossy().into_owned();
let pdf_path = pdf_path.to_string_lossy().into_owned();
- let line = line.unwrap_or_else(|| child.cursor.line);
+ let line = line.unwrap_or(child.cursor.line);
let line = (line + 1).to_string();
let program = config.program.clone();
diff --git a/support/texlab/crates/commands/src/lib.rs b/support/texlab/crates/commands/src/lib.rs
index bcf4c8538f..8023c8d66c 100644
--- a/support/texlab/crates/commands/src/lib.rs
+++ b/support/texlab/crates/commands/src/lib.rs
@@ -2,6 +2,7 @@ mod build;
mod change_env;
mod clean;
mod dep_graph;
+mod find_envs;
mod fwd_search;
mod placeholders;
@@ -10,5 +11,6 @@ pub use self::{
change_env::{change_environment, ChangeEnvironmentResult},
clean::{CleanCommand, CleanTarget},
dep_graph::show_dependency_graph,
+ find_envs::find_environments,
fwd_search::{ForwardSearch, ForwardSearchError},
};
diff --git a/support/texlab/crates/commands/src/placeholders.rs b/support/texlab/crates/commands/src/placeholders.rs
index 913af33edf..9994420f5d 100644
--- a/support/texlab/crates/commands/src/placeholders.rs
+++ b/support/texlab/crates/commands/src/placeholders.rs
@@ -17,7 +17,7 @@ pub fn replace_placeholders(args: &[String], pairs: &[(char, &str)]) -> Vec<Stri
if ch == '%' {
match chars.next() {
Some(key) => match map.get(&key) {
- Some(value) => output.push_str(&value),
+ Some(value) => output.push_str(value),
None => output.push(key),
},
None => output.push('%'),
diff --git a/support/texlab/crates/commands/src/snapshots/commands__find_envs__tests__test.snap b/support/texlab/crates/commands/src/snapshots/commands__find_envs__tests__test.snap
new file mode 100644
index 0000000000..fa532f125a
--- /dev/null
+++ b/support/texlab/crates/commands/src/snapshots/commands__find_envs__tests__test.snap
@@ -0,0 +1,27 @@
+---
+source: crates/commands/src/find_envs.rs
+expression: results
+---
+[
+ EnvironmentMatch {
+ name: Span(
+ "a",
+ 7..8,
+ ),
+ full_range: 0..87,
+ },
+ EnvironmentMatch {
+ name: Span(
+ "b",
+ 19..20,
+ ),
+ full_range: 12..57,
+ },
+ EnvironmentMatch {
+ name: Span(
+ "c",
+ 33..34,
+ ),
+ full_range: 26..47,
+ },
+]
diff --git a/support/texlab/crates/distro/Cargo.toml b/support/texlab/crates/distro/Cargo.toml
index b450aa2631..d7c336a041 100644
--- a/support/texlab/crates/distro/Cargo.toml
+++ b/support/texlab/crates/distro/Cargo.toml
@@ -7,7 +7,7 @@ edition.workspace = true
rust-version.workspace = true
[dependencies]
-anyhow = "1.0.70"
+anyhow = "1.0.71"
rustc-hash = "1.1.0"
[lib]
diff --git a/support/texlab/crates/parser/Cargo.toml b/support/texlab/crates/parser/Cargo.toml
index 8e8b88841f..1b57d5aec1 100644
--- a/support/texlab/crates/parser/Cargo.toml
+++ b/support/texlab/crates/parser/Cargo.toml
@@ -9,7 +9,7 @@ rust-version.workspace = true
[dependencies]
logos = "0.13.0"
once_cell = "1.17.1"
-regex = "1.7.3"
+regex = "1.8.1"
rowan = "0.15.11"
rustc-hash = "1.1.0"
syntax = { path = "../syntax" }
diff --git a/support/texlab/crates/parser/src/latex.rs b/support/texlab/crates/parser/src/latex.rs
index c42031dcf1..63c160d4e2 100644
--- a/support/texlab/crates/parser/src/latex.rs
+++ b/support/texlab/crates/parser/src/latex.rs
@@ -6,7 +6,7 @@ use syntax::latex::SyntaxKind::{self, *};
use crate::SyntaxConfig;
use self::lexer::{
- types::{CommandName, SectionLevel, Token},
+ types::{CommandName, ParagraphLevel, SectionLevel, Token},
Lexer,
};
@@ -114,6 +114,7 @@ impl<'a> Parser<'a> {
CommandName::BeginEquation => self.equation(),
CommandName::EndEquation => self.generic_command(),
CommandName::Section(level) => self.section(level),
+ CommandName::Paragraph(level) => self.paragraph(level),
CommandName::EnumItem => self.enum_item(),
CommandName::Caption => self.caption(),
CommandName::Citation => self.citation(),
@@ -138,7 +139,8 @@ impl<'a> Parser<'a> {
CommandName::AcronymDefinition => self.acronym_definition(),
CommandName::AcronymDeclaration => self.acronym_declaration(),
CommandName::AcronymReference => self.acronym_reference(),
- CommandName::TheoremDefinition => self.theorem_definition(),
+ CommandName::TheoremDefinitionAmsThm => self.theorem_definition_amsthm(),
+ CommandName::TheoremDefinitionThmTools => self.theorem_definition_thmtools(),
CommandName::ColorReference => self.color_reference(),
CommandName::ColorDefinition => self.color_definition(),
CommandName::ColorSetDefinition => self.color_set_definition(),
@@ -559,8 +561,6 @@ impl<'a> Parser<'a> {
SectionLevel::Section => SECTION,
SectionLevel::Subsection => SUBSECTION,
SectionLevel::Subsubsection => SUBSUBSECTION,
- SectionLevel::Paragraph => PARAGRAPH,
- SectionLevel::Subparagraph => SUBPARAGRAPH,
};
self.builder.start_node(node_kind.into());
@@ -583,6 +583,33 @@ impl<'a> Parser<'a> {
self.builder.finish_node();
}
+ fn paragraph(&mut self, level: ParagraphLevel) {
+ let node_kind = match level {
+ ParagraphLevel::Paragraph => PARAGRAPH,
+ ParagraphLevel::Subparagraph => SUBPARAGRAPH,
+ };
+
+ self.builder.start_node(node_kind.into());
+ self.eat();
+ self.trivia();
+
+ if self.peek() == Some(Token::LCurly) {
+ self.curly_group();
+ }
+
+ while let Some(kind) = self.peek() {
+ match kind {
+ Token::RCurly => break,
+ Token::CommandName(CommandName::EndEnvironment) => break,
+ Token::CommandName(CommandName::Section(_)) => break,
+ Token::CommandName(CommandName::Paragraph(nested)) if nested <= level => break,
+ _ => self.content(ParserContext::default()),
+ }
+ }
+
+ self.builder.finish_node();
+ }
+
fn enum_item(&mut self) {
self.builder.start_node(ENUM_ITEM.into());
self.eat();
@@ -978,8 +1005,8 @@ impl<'a> Parser<'a> {
self.builder.finish_node();
}
- fn theorem_definition(&mut self) {
- self.builder.start_node(THEOREM_DEFINITION.into());
+ fn theorem_definition_amsthm(&mut self) {
+ self.builder.start_node(THEOREM_DEFINITION_AMSTHM.into());
self.eat();
self.trivia();
@@ -1002,6 +1029,22 @@ impl<'a> Parser<'a> {
self.builder.finish_node();
}
+ fn theorem_definition_thmtools(&mut self) {
+ self.builder.start_node(THEOREM_DEFINITION_THMTOOLS.into());
+ self.eat();
+ self.trivia();
+
+ if self.lexer.peek() == Some(Token::LBrack) {
+ self.brack_group_key_value();
+ }
+
+ if self.lexer.peek() == Some(Token::LCurly) {
+ self.curly_group_word();
+ }
+
+ self.builder.finish_node();
+ }
+
fn color_reference(&mut self) {
self.builder.start_node(COLOR_REFERENCE.into());
self.eat();
diff --git a/support/texlab/crates/parser/src/latex/lexer/commands.rs b/support/texlab/crates/parser/src/latex/lexer/commands.rs
index c5fe48e0c9..b6e1d11737 100644
--- a/support/texlab/crates/parser/src/latex/lexer/commands.rs
+++ b/support/texlab/crates/parser/src/latex/lexer/commands.rs
@@ -1,6 +1,6 @@
use crate::SyntaxConfig;
-use super::types::{CommandName, SectionLevel};
+use super::types::{CommandName, ParagraphLevel, SectionLevel};
pub fn classify(name: &str, config: &SyntaxConfig) -> CommandName {
match name {
@@ -13,8 +13,8 @@ pub fn classify(name: &str, config: &SyntaxConfig) -> CommandName {
"section" | "section*" => CommandName::Section(SectionLevel::Section),
"subsection" | "subsection*" => CommandName::Section(SectionLevel::Subsection),
"subsubsection" | "subsubsection*" => CommandName::Section(SectionLevel::Subsubsection),
- "paragraph" | "paragraph*" => CommandName::Section(SectionLevel::Paragraph),
- "subparagraph" | "subparagraph*" => CommandName::Section(SectionLevel::Subparagraph),
+ "paragraph" | "paragraph*" => CommandName::Paragraph(ParagraphLevel::Paragraph),
+ "subparagraph" | "subparagraph*" => CommandName::Paragraph(ParagraphLevel::Subparagraph),
"item" => CommandName::EnumItem,
"caption" => CommandName::Caption,
"usepackage" | "RequirePackage" => CommandName::PackageInclude,
@@ -67,9 +67,8 @@ pub fn classify(name: &str, config: &SyntaxConfig) -> CommandName {
| "Glsentrylong" | "glsentrylongpl" | "Glsentrylongpl" | "glsentryshort"
| "Glsentryshort" | "glsentryshortpl" | "Glsentryshortpl" | "glsentryfullpl"
| "Glsentryfullpl" => CommandName::AcronymReference,
- "newtheorem" | "newtheorem*" | "declaretheorem" | "declaretheorem*" => {
- CommandName::TheoremDefinition
- }
+ "newtheorem" | "newtheorem*" => CommandName::TheoremDefinitionAmsThm,
+ "declaretheorem" | "declaretheorem*" => CommandName::TheoremDefinitionThmTools,
"color" | "colorbox" | "textcolor" | "pagecolor" => CommandName::ColorReference,
"definecolor" => CommandName::ColorDefinition,
"definecolorset" => CommandName::ColorSetDefinition,
diff --git a/support/texlab/crates/parser/src/latex/lexer/types.rs b/support/texlab/crates/parser/src/latex/lexer/types.rs
index eea6ea3b44..607138a448 100644
--- a/support/texlab/crates/parser/src/latex/lexer/types.rs
+++ b/support/texlab/crates/parser/src/latex/lexer/types.rs
@@ -58,7 +58,7 @@ fn lex_command_name(lexer: &mut logos::Lexer<Token>) -> CommandName {
return CommandName::Generic;
}
- while let Some(c) = chars.next() {
+ for c in chars {
match c {
'*' => {
lexer.bump(c.len_utf8());
@@ -87,6 +87,7 @@ pub enum CommandName {
BeginEquation,
EndEquation,
Section(SectionLevel),
+ Paragraph(ParagraphLevel),
EnumItem,
Caption,
Citation,
@@ -111,7 +112,8 @@ pub enum CommandName {
AcronymDefinition,
AcronymDeclaration,
AcronymReference,
- TheoremDefinition,
+ TheoremDefinitionAmsThm,
+ TheoremDefinitionThmTools,
ColorReference,
ColorDefinition,
ColorSetDefinition,
@@ -130,6 +132,10 @@ pub enum SectionLevel {
Section,
Subsection,
Subsubsection,
+}
+
+#[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
+pub enum ParagraphLevel {
Paragraph,
Subparagraph,
}
diff --git a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__paragraphs.txt.snap b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__paragraphs.txt.snap
new file mode 100644
index 0000000000..7c3e7fae57
--- /dev/null
+++ b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__paragraphs.txt.snap
@@ -0,0 +1,67 @@
+---
+source: crates/parser/src/latex.rs
+expression: root
+input_file: crates/parser/src/test_data/latex/structure/paragraphs.txt
+---
+ROOT@0..134
+ PREAMBLE@0..134
+ SECTION@0..105
+ COMMAND_NAME@0..8 "\\section"
+ CURLY_GROUP@8..20
+ L_CURLY@8..9 "{"
+ TEXT@9..18
+ WORD@9..16 "Section"
+ WHITESPACE@16..17 " "
+ WORD@17..18 "1"
+ R_CURLY@18..19 "}"
+ LINE_BREAK@19..20 "\n"
+ TEXT@20..31
+ WORD@20..27 "Section"
+ WHITESPACE@27..28 " "
+ WORD@28..29 "1"
+ LINE_BREAK@29..31 "\n\n"
+ PARAGRAPH@31..68
+ COMMAND_NAME@31..41 "\\paragraph"
+ CURLY_GROUP@41..55
+ L_CURLY@41..42 "{"
+ TEXT@42..53
+ WORD@42..51 "Paragraph"
+ WHITESPACE@51..52 " "
+ WORD@52..53 "1"
+ R_CURLY@53..54 "}"
+ LINE_BREAK@54..55 "\n"
+ TEXT@55..68
+ WORD@55..64 "Paragraph"
+ WHITESPACE@64..65 " "
+ WORD@65..66 "1"
+ LINE_BREAK@66..68 "\n\n"
+ PARAGRAPH@68..105
+ COMMAND_NAME@68..78 "\\paragraph"
+ CURLY_GROUP@78..92
+ L_CURLY@78..79 "{"
+ TEXT@79..90
+ WORD@79..88 "Paragraph"
+ WHITESPACE@88..89 " "
+ WORD@89..90 "2"
+ R_CURLY@90..91 "}"
+ LINE_BREAK@91..92 "\n"
+ TEXT@92..105
+ WORD@92..101 "Paragraph"
+ WHITESPACE@101..102 " "
+ WORD@102..103 "2"
+ LINE_BREAK@103..105 "\n\n"
+ SECTION@105..134
+ COMMAND_NAME@105..113 "\\section"
+ CURLY_GROUP@113..125
+ L_CURLY@113..114 "{"
+ TEXT@114..123
+ WORD@114..121 "Section"
+ WHITESPACE@121..122 " "
+ WORD@122..123 "2"
+ R_CURLY@123..124 "}"
+ LINE_BREAK@124..125 "\n"
+ TEXT@125..134
+ WORD@125..132 "Section"
+ WHITESPACE@132..133 " "
+ WORD@133..134 "2"
+
diff --git a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
index c21f26976e..ce42bde1d3 100644
--- a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
+++ b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_full.txt.snap
@@ -5,7 +5,7 @@ input_file: crates/parser/src/test_data/latex/theorem_definition/theorem_definit
---
ROOT@0..31
PREAMBLE@0..31
- THEOREM_DEFINITION@0..31
+ THEOREM_DEFINITION_AMSTHM@0..31
COMMAND_NAME@0..11 "\\newtheorem"
CURLY_GROUP_WORD@11..16
L_CURLY@11..12 "{"
diff --git a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
index d4c5d787b5..c1e7ad5387 100644
--- a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
+++ b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
@@ -5,7 +5,7 @@ input_file: crates/parser/src/test_data/latex/theorem_definition/theorem_definit
---
ROOT@0..21
PREAMBLE@0..21
- THEOREM_DEFINITION@0..21
+ THEOREM_DEFINITION_AMSTHM@0..21
COMMAND_NAME@0..11 "\\newtheorem"
CURLY_GROUP_WORD@11..16
L_CURLY@11..12 "{"
diff --git a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
index b269ac10d0..13c043c94f 100644
--- a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
+++ b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
@@ -5,7 +5,7 @@ input_file: crates/parser/src/test_data/latex/theorem_definition/theorem_definit
---
ROOT@0..21
PREAMBLE@0..21
- THEOREM_DEFINITION@0..21
+ THEOREM_DEFINITION_AMSTHM@0..21
COMMAND_NAME@0..11 "\\newtheorem"
CURLY_GROUP_WORD@11..16
L_CURLY@11..12 "{"
diff --git a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
index 230f1fac29..57f4f7ce1b 100644
--- a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
+++ b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
@@ -5,7 +5,7 @@ input_file: crates/parser/src/test_data/latex/theorem_definition/theorem_definit
---
ROOT@0..26
PREAMBLE@0..26
- THEOREM_DEFINITION@0..26
+ THEOREM_DEFINITION_AMSTHM@0..26
COMMAND_NAME@0..11 "\\newtheorem"
CURLY_GROUP_WORD@11..16
L_CURLY@11..12 "{"
diff --git a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
index b01de34857..22674fbbba 100644
--- a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
+++ b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_only_name.txt.snap
@@ -5,7 +5,7 @@ input_file: crates/parser/src/test_data/latex/theorem_definition/theorem_definit
---
ROOT@0..16
PREAMBLE@0..16
- THEOREM_DEFINITION@0..16
+ THEOREM_DEFINITION_AMSTHM@0..16
COMMAND_NAME@0..11 "\\newtheorem"
CURLY_GROUP_WORD@11..16
L_CURLY@11..12 "{"
diff --git a/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_thmtools.txt.snap b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_thmtools.txt.snap
new file mode 100644
index 0000000000..8b00bb4b59
--- /dev/null
+++ b/support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_thmtools.txt.snap
@@ -0,0 +1,35 @@
+---
+source: crates/parser/src/latex.rs
+expression: root
+input_file: crates/parser/src/test_data/latex/theorem_definition/theorem_definition_thmtools.txt
+---
+ROOT@0..41
+ PREAMBLE@0..41
+ THEOREM_DEFINITION_THMTOOLS@0..41
+ COMMAND_NAME@0..15 "\\declaretheorem"
+ BRACK_GROUP_KEY_VALUE@15..36
+ L_BRACK@15..16 "["
+ KEY_VALUE_BODY@16..35
+ KEY_VALUE_PAIR@16..25
+ KEY@16..21
+ WORD@16..21 "style"
+ EQUALITY_SIGN@21..22 "="
+ VALUE@22..25
+ TEXT@22..25
+ WORD@22..25 "foo"
+ COMMA@25..26 ","
+ WHITESPACE@26..27 " "
+ KEY_VALUE_PAIR@27..35
+ KEY@27..31
+ WORD@27..31 "name"
+ EQUALITY_SIGN@31..32 "="
+ VALUE@32..35
+ TEXT@32..35
+ WORD@32..35 "bar"
+ R_BRACK@35..36 "]"
+ CURLY_GROUP_WORD@36..41
+ L_CURLY@36..37 "{"
+ KEY@37..40
+ WORD@37..40 "baz"
+ R_CURLY@40..41 "}"
+
diff --git a/support/texlab/crates/parser/src/test_data/latex/structure/paragraphs.txt b/support/texlab/crates/parser/src/test_data/latex/structure/paragraphs.txt
new file mode 100644
index 0000000000..a7e32353bb
--- /dev/null
+++ b/support/texlab/crates/parser/src/test_data/latex/structure/paragraphs.txt
@@ -0,0 +1,11 @@
+\section{Section 1}
+Section 1
+
+\paragraph{Paragraph 1}
+Paragraph 1
+
+\paragraph{Paragraph 2}
+Paragraph 2
+
+\section{Section 2}
+Section 2 \ No newline at end of file
diff --git a/support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_thmtools.txt b/support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_thmtools.txt
new file mode 100644
index 0000000000..2662a5ca8c
--- /dev/null
+++ b/support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_thmtools.txt
@@ -0,0 +1 @@
+\declaretheorem[style=foo, name=bar]{baz} \ No newline at end of file
diff --git a/support/texlab/crates/symbols/Cargo.toml b/support/texlab/crates/symbols/Cargo.toml
index d1d5bd2d8b..b79e671597 100644
--- a/support/texlab/crates/symbols/Cargo.toml
+++ b/support/texlab/crates/symbols/Cargo.toml
@@ -20,5 +20,5 @@ url = "2.3.1"
[dev-dependencies]
insta = "1.29.0"
-regex = "1.7.3"
+regex = "1.8.1"
test-utils = { path = "../test-utils" }
diff --git a/support/texlab/crates/symbols/src/document.rs b/support/texlab/crates/symbols/src/document.rs
index eb3d8d339f..b34974e019 100644
--- a/support/texlab/crates/symbols/src/document.rs
+++ b/support/texlab/crates/symbols/src/document.rs
@@ -37,7 +37,6 @@ fn filter_symbols(container: &mut Vec<Symbol>, config: &SymbolConfig) {
while i < container.len() {
let symbol = &mut container[i];
if symbol.name.is_empty() || !util::filter_regex_patterns(&symbol.name, allowed, ignored) {
- drop(symbol);
let mut symbol = container.remove(i);
container.append(&mut symbol.children);
} else {
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_amsthm.snap
index 9d897532b1..9d897532b1 100644
--- a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem.snap
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_amsthm.snap
diff --git a/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_thmtools.snap b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_thmtools.snap
new file mode 100644
index 0000000000..cb5d344965
--- /dev/null
+++ b/support/texlab/crates/symbols/src/document/snapshots/symbols__document__tests__theorem_thmtools.snap
@@ -0,0 +1,53 @@
+---
+source: crates/symbols/src/document/tests.rs
+expression: "document_symbols(&fixture.workspace, document)"
+---
+[
+ Symbol {
+ name: "Lemma 1 (Foo)",
+ kind: Theorem,
+ label: Some(
+ Span(
+ "thm:foo",
+ 147..162,
+ ),
+ ),
+ full_range: 129..182,
+ selection_range: 147..162,
+ children: [],
+ },
+ Symbol {
+ name: "Lemma 2",
+ kind: Theorem,
+ label: Some(
+ Span(
+ "thm:bar",
+ 197..212,
+ ),
+ ),
+ full_range: 184..232,
+ selection_range: 197..212,
+ children: [],
+ },
+ Symbol {
+ name: "Lemma",
+ kind: Theorem,
+ label: Some(
+ Span(
+ "thm:baz",
+ 247..262,
+ ),
+ ),
+ full_range: 234..282,
+ selection_range: 247..262,
+ children: [],
+ },
+ Symbol {
+ name: "Lemma (Qux)",
+ kind: Theorem,
+ label: None,
+ full_range: 284..322,
+ selection_range: 284..322,
+ children: [],
+ },
+]
diff --git a/support/texlab/crates/symbols/src/document/tests.rs b/support/texlab/crates/symbols/src/document/tests.rs
index dcb3c17a7c..355a8a5719 100644
--- a/support/texlab/crates/symbols/src/document/tests.rs
+++ b/support/texlab/crates/symbols/src/document/tests.rs
@@ -138,7 +138,7 @@ fn test_section() {
}
#[test]
-fn test_theorem() {
+fn test_theorem_amsthm() {
let fixture = Fixture::parse(
r#"
%! main.tex
@@ -178,6 +178,46 @@ fn test_theorem() {
}
#[test]
+fn test_theorem_thmtools() {
+ let fixture = Fixture::parse(
+ r#"
+%! main.tex
+\documentclass{article}
+\declaretheoremstyle{lemmastyle}
+\declaretheorem[style=lemmastyle, name=Lemma]{lemma}
+
+\begin{document}
+
+\begin{lemma}[Foo]\label{thm:foo}
+ Foo
+\end{lemma}
+
+\begin{lemma}\label{thm:bar}
+ Bar
+\end{lemma}
+
+\begin{lemma}\label{thm:baz}
+ Baz
+\end{lemma}
+
+\begin{lemma}[Qux]
+ Qux
+\end{lemma}
+
+\end{document}
+|
+
+%! main.aux
+\relax
+\newlabel{thm:foo}{{1}{1}}
+\newlabel{thm:bar}{{2}{1}}"#,
+ );
+
+ let document = fixture.workspace.lookup(&fixture.documents[0].uri).unwrap();
+ assert_debug_snapshot!(document_symbols(&fixture.workspace, document));
+}
+
+#[test]
fn test_allowed_patterns() {
let mut fixture = Fixture::parse(
r#"
diff --git a/support/texlab/crates/symbols/src/types.rs b/support/texlab/crates/symbols/src/types.rs
index d78f9af200..5d31c98143 100644
--- a/support/texlab/crates/symbols/src/types.rs
+++ b/support/texlab/crates/symbols/src/types.rs
@@ -54,7 +54,7 @@ impl Symbol {
}
}
- pub fn keywords<'a>(&'a self) -> Vec<&'a str> {
+ pub fn keywords(&self) -> Vec<&str> {
match self.kind {
SymbolKind::Section => vec![&self.name, "latex", "section"],
SymbolKind::Figure => vec![&self.name, "latex", "float", "figure"],
diff --git a/support/texlab/crates/syntax/src/latex/cst.rs b/support/texlab/crates/syntax/src/latex/cst.rs
index be64557886..a2945c3e7a 100644
--- a/support/texlab/crates/syntax/src/latex/cst.rs
+++ b/support/texlab/crates/syntax/src/latex/cst.rs
@@ -265,6 +265,15 @@ impl ToString for Key {
cst_node!(Value, VALUE);
+impl Value {
+ pub fn text(&self) -> Option<String> {
+ match CurlyGroup::cast(self.syntax().clone()) {
+ Some(group) => group.content_text(),
+ None => Some(self.syntax().text().to_string()),
+ }
+ }
+}
+
cst_node!(KeyValuePair, KEY_VALUE_PAIR);
impl KeyValuePair {
@@ -528,7 +537,11 @@ impl LabelNumber {
}
}
-cst_node!(TheoremDefinition, THEOREM_DEFINITION);
+cst_node!(
+ TheoremDefinition,
+ THEOREM_DEFINITION_AMSTHM,
+ THEOREM_DEFINITION_THMTOOLS
+);
impl TheoremDefinition {
pub fn command(&self) -> Option<SyntaxToken> {
@@ -539,8 +552,25 @@ impl TheoremDefinition {
self.syntax().children().find_map(CurlyGroupWord::cast)
}
- pub fn heading(&self) -> Option<CurlyGroup> {
- self.syntax().children().find_map(CurlyGroup::cast)
+ pub fn heading(&self) -> Option<String> {
+ if self.0.kind() == THEOREM_DEFINITION_THMTOOLS {
+ let options = self
+ .syntax()
+ .children()
+ .find_map(BrackGroupKeyValue::cast)
+ .and_then(|group| group.body())?;
+
+ options
+ .pairs()
+ .find(|pair| pair.key().map_or(false, |key| key.to_string() == "name"))
+ .and_then(|pair| pair.value())
+ .and_then(|name| name.text())
+ } else {
+ self.syntax()
+ .children()
+ .find_map(CurlyGroup::cast)
+ .and_then(|group| group.content_text())
+ }
}
}
diff --git a/support/texlab/crates/syntax/src/latex/kind.rs b/support/texlab/crates/syntax/src/latex/kind.rs
index 3eadc90b48..39e2837932 100644
--- a/support/texlab/crates/syntax/src/latex/kind.rs
+++ b/support/texlab/crates/syntax/src/latex/kind.rs
@@ -73,7 +73,8 @@ pub enum SyntaxKind {
ACRONYM_DEFINITION,
ACRONYM_DECLARATION,
ACRONYM_REFERENCE,
- THEOREM_DEFINITION,
+ THEOREM_DEFINITION_AMSTHM,
+ THEOREM_DEFINITION_THMTOOLS,
COLOR_REFERENCE,
COLOR_DEFINITION,
COLOR_SET_DEFINITION,
diff --git a/support/texlab/crates/texlab/Cargo.toml b/support/texlab/crates/texlab/Cargo.toml
index 821ecb9813..1f9ca98abe 100644
--- a/support/texlab/crates/texlab/Cargo.toml
+++ b/support/texlab/crates/texlab/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "texlab"
description = "LaTeX Language Server"
-version = "5.6.0"
+version = "5.7.0"
license.workspace = true
readme = "README.md"
authors.workspace = true
@@ -31,31 +31,31 @@ test = false
doctest = false
[dependencies]
-anyhow = "1.0.70"
+anyhow = "1.0.71"
base-db = { path = "../base-db" }
citeproc = { path = "../citeproc" }
-clap = { version = "4.2.2", features = ["derive"] }
+clap = { version = "4.3.0", features = ["derive"] }
commands = { path = "../commands" }
crossbeam-channel = "0.5.8"
-dirs = "5.0.0"
+dirs = "5.0.1"
distro = { path = "../distro" }
encoding_rs = "0.8.32"
encoding_rs_io = "0.1.7"
fern = "0.6.2"
-flate2 = "1.0.25"
+flate2 = "1.0.26"
fuzzy-matcher = { version = "0.3.7", features = ["compact"] }
itertools = "0.10.5"
log = "0.4.17"
lsp-server = "0.7.0"
lsp-types = "0.94.0"
-notify = "5.1.0"
+notify = "6.0.0"
once_cell = "1.17.1"
parking_lot = "0.12.1"
parser = { path = "../parser" }
-regex = "1.7.3"
+regex = "1.8.1"
rowan = "0.15.11"
rustc-hash = "1.1.0"
-serde = "1.0.160"
+serde = "1.0.163"
serde_json = "1.0.96"
serde_regex = "1.1.0"
serde_repr = "0.1.12"
@@ -68,8 +68,8 @@ symbols = { path = "../symbols" }
[dev-dependencies]
assert_unordered = "0.3.5"
-criterion = { version = "0.4.0" }
-insta = { version = "1.28.0", features = ["glob", "redactions", "json"] }
+criterion = { version = "0.5.1" }
+insta = { version = "1.29.0", features = ["glob", "redactions", "json"] }
[[bench]]
name = "bench_main"
diff --git a/support/texlab/crates/texlab/src/features/completion/builder.rs b/support/texlab/crates/texlab/src/features/completion/builder.rs
index b325cd183b..bae7ebbfb7 100644
--- a/support/texlab/crates/texlab/src/features/completion/builder.rs
+++ b/support/texlab/crates/texlab/src/features/completion/builder.rs
@@ -51,7 +51,7 @@ impl<'a> CompletionBuilder<'a> {
) -> Self {
let items = Vec::new();
let matcher: Box<dyn Matcher> = match context.workspace.config().completion.matcher {
- MatchingAlgo::Skim => Box::new(SkimMatcherV2::default()),
+ MatchingAlgo::Skim => Box::<SkimMatcherV2>::default(),
MatchingAlgo::SkimIgnoreCase => Box::new(SkimMatcherV2::default().ignore_case()),
MatchingAlgo::Prefix => Box::new(matcher::Prefix),
MatchingAlgo::PrefixIgnoreCase => Box::new(matcher::PrefixIgnoreCase),
@@ -290,7 +290,7 @@ impl<'a> CompletionBuilder<'a> {
) -> Option<()> {
let score = self
.matcher
- .score(&entry_type.name, &self.text_pattern[1..])?;
+ .score(entry_type.name, &self.text_pattern[1..])?;
self.items.push(Item {
range,
@@ -303,7 +303,7 @@ impl<'a> CompletionBuilder<'a> {
}
pub fn field(&mut self, range: TextRange, field: &'a BibtexFieldType<'a>) -> Option<()> {
- let score = self.matcher.score(&field.name, &self.text_pattern)?;
+ let score = self.matcher.score(field.name, &self.text_pattern)?;
self.items.push(Item {
range,
data: Data::Field { field },
@@ -750,8 +750,8 @@ enum Data<'a> {
impl<'db> Data<'db> {
pub fn label<'this: 'db>(&'this self) -> &'db str {
match self {
- Self::EntryType { entry_type } => &entry_type.name,
- Self::Field { field } => &field.name,
+ Self::EntryType { entry_type } => entry_type.name,
+ Self::Field { field } => field.name,
Self::Argument { name, .. } => name,
Self::BeginSnippet => "begin",
Self::Citation { key, .. } => key,
diff --git a/support/texlab/crates/texlab/src/features/completion/label.rs b/support/texlab/crates/texlab/src/features/completion/label.rs
index 800c7b7581..be6e1b9ab7 100644
--- a/support/texlab/crates/texlab/src/features/completion/label.rs
+++ b/support/texlab/crates/texlab/src/features/completion/label.rs
@@ -40,7 +40,7 @@ pub fn complete<'db>(
let header = rendered_label.detail();
let footer = match &rendered_label.object {
- RenderedObject::Float { caption, .. } => Some(caption.clone()),
+ RenderedObject::Float { caption, .. } => Some(*caption),
_ => None,
};
diff --git a/support/texlab/crates/texlab/src/features/completion/matcher.rs b/support/texlab/crates/texlab/src/features/completion/matcher.rs
index a2b1a45e6a..5d5c93b2b9 100644
--- a/support/texlab/crates/texlab/src/features/completion/matcher.rs
+++ b/support/texlab/crates/texlab/src/features/completion/matcher.rs
@@ -37,6 +37,6 @@ impl Matcher for PrefixIgnoreCase {
}
}
- return Some(-(choice.len() as i32));
+ Some(-(choice.len() as i32))
}
}
diff --git a/support/texlab/crates/texlab/src/features/formatting/latexindent.rs b/support/texlab/crates/texlab/src/features/formatting/latexindent.rs
index c269550b74..bf5385401b 100644
--- a/support/texlab/crates/texlab/src/features/formatting/latexindent.rs
+++ b/support/texlab/crates/texlab/src/features/formatting/latexindent.rs
@@ -5,8 +5,8 @@ use std::{
use base_db::{Document, LatexIndentConfig, Workspace};
use distro::Language;
-use lsp_types::TextEdit;
-use rowan::{TextLen, TextRange};
+use lsp_types::{Position, TextEdit};
+use rowan::TextLen;
use tempfile::tempdir;
use crate::util::line_index_ext::LineIndexExt;
@@ -51,8 +51,10 @@ pub fn format_with_latexindent(
None
} else {
let line_index = &document.line_index;
+ let start = Position::new(0, 0);
+ let end = line_index.line_col_lsp(old_text.text_len());
Some(vec![TextEdit {
- range: line_index.line_col_lsp_range(TextRange::new(0.into(), old_text.text_len())),
+ range: lsp_types::Range::new(start, end),
new_text,
}])
}
diff --git a/support/texlab/crates/texlab/src/features/inlay_hint.rs b/support/texlab/crates/texlab/src/features/inlay_hint.rs
index 40e2984ab8..14a53ae21d 100644
--- a/support/texlab/crates/texlab/src/features/inlay_hint.rs
+++ b/support/texlab/crates/texlab/src/features/inlay_hint.rs
@@ -36,7 +36,7 @@ impl<'db> InlayHintBuilder<'db> {
let position = self.document.line_index.line_col_lsp(offset);
self.hints.push(InlayHint {
position,
- label: InlayHintLabel::String(text),
+ label: InlayHintLabel::String(format!(" {text} ")),
kind: None,
text_edits: None,
tooltip: None,
diff --git a/support/texlab/crates/texlab/src/features/inlay_hint/label.rs b/support/texlab/crates/texlab/src/features/inlay_hint/label.rs
index dd33990f45..f73d3fd9ae 100644
--- a/support/texlab/crates/texlab/src/features/inlay_hint/label.rs
+++ b/support/texlab/crates/texlab/src/features/inlay_hint/label.rs
@@ -34,7 +34,7 @@ pub(super) fn find_hints(builder: &mut InlayHintBuilder) -> Option<()> {
RenderedObject::EnumItem => format!("Item {}", number),
};
- builder.push(label.name.range.end(), text);
+ builder.push(label.full_range.end(), text);
}
Some(())
diff --git a/support/texlab/crates/texlab/src/server.rs b/support/texlab/crates/texlab/src/server.rs
index 0370f00192..2a62abe96d 100644
--- a/support/texlab/crates/texlab/src/server.rs
+++ b/support/texlab/crates/texlab/src/server.rs
@@ -38,8 +38,8 @@ use crate::{
use self::{
extensions::{
- BuildParams, BuildRequest, BuildResult, BuildStatus, ForwardSearchRequest,
- ForwardSearchResult, ForwardSearchStatus,
+ BuildParams, BuildRequest, BuildResult, BuildStatus, EnvironmentLocation,
+ ForwardSearchRequest, ForwardSearchResult, ForwardSearchStatus, TextWithRange,
},
options::{Options, StartupOptions},
progress::ProgressReporter,
@@ -168,6 +168,9 @@ impl Server {
"texlab.cleanAuxiliary".into(),
"texlab.cleanArtifacts".into(),
"texlab.changeEnvironment".into(),
+ "texlab.findEnvironments".into(),
+ "texlab.showDependencyGraph".into(),
+ "texlab.cancelBuild".into(),
],
..Default::default()
}),
@@ -384,20 +387,18 @@ impl Server {
match change.range {
Some(range) => {
let range = document.line_index.offset_lsp_range(range);
- drop(document);
workspace.edit(&uri, range, &change.text);
}
None => {
let new_line = document.cursor.line.min(change.text.lines().count() as u32);
let language = document.language;
- drop(document);
workspace.open(
uri.clone(),
change.text,
language,
Owner::Client,
LineCol {
- line: new_line as u32,
+ line: new_line,
col: 0,
},
);
@@ -662,6 +663,10 @@ impl Server {
client.send_request::<ApplyWorkspaceEdit>(params?)
});
}
+ "texlab.findEnvironments" => {
+ let result = self.find_environments(params);
+ self.run_fallible(id, move || result);
+ }
"texlab.showDependencyGraph" => {
let workspace = self.workspace.read();
let dot = commands::show_dependency_graph(&workspace).unwrap();
@@ -867,7 +872,6 @@ impl Server {
if let Some(document) = workspace.lookup_path(&path) {
if document.owner == Owner::Server {
let uri = document.uri.clone();
- drop(document);
workspace.remove(&uri);
changed = true;
}
@@ -941,6 +945,32 @@ impl Server {
Ok(ApplyWorkspaceEditParams { label, edit })
}
+ fn find_environments(&self, params: ExecuteCommandParams) -> Result<Vec<EnvironmentLocation>> {
+ let workspace = self.workspace.read();
+ let params = self.parse_command_params::<TextDocumentPositionParams>(params.arguments)?;
+ let mut uri = params.text_document.uri;
+ normalize_uri(&mut uri);
+
+ let Some(document) = workspace.lookup(&uri) else {
+ anyhow::bail!("Document {} is not opened!", uri)
+ };
+
+ let line_index = &document.line_index;
+ let offset = line_index.offset_lsp(params.position);
+ let results = commands::find_environments(document, offset)
+ .into_iter()
+ .map(|result| EnvironmentLocation {
+ name: TextWithRange {
+ range: line_index.line_col_lsp_range(result.name.range),
+ text: result.name.text,
+ },
+ full_range: line_index.line_col_lsp_range(result.full_range),
+ })
+ .collect();
+
+ Ok(results)
+ }
+
fn parse_command_params<T: DeserializeOwned>(
&self,
params: Vec<serde_json::Value>,
diff --git a/support/texlab/crates/texlab/src/server/extensions.rs b/support/texlab/crates/texlab/src/server/extensions.rs
index e8a2050cff..2d9d17a5b3 100644
--- a/support/texlab/crates/texlab/src/server/extensions.rs
+++ b/support/texlab/crates/texlab/src/server/extensions.rs
@@ -1,5 +1,5 @@
use commands::ForwardSearchError;
-use lsp_types::{Position, TextDocumentIdentifier, TextDocumentPositionParams};
+use lsp_types::{Position, Range, TextDocumentIdentifier, TextDocumentPositionParams};
use serde::{Deserialize, Serialize};
use serde_repr::{Deserialize_repr, Serialize_repr};
@@ -70,6 +70,21 @@ impl From<ForwardSearchError> for ForwardSearchStatus {
}
#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
+#[serde(rename_all = "camelCase")]
pub struct ForwardSearchResult {
pub status: ForwardSearchStatus,
}
+
+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
+#[serde(rename_all = "camelCase")]
+pub struct EnvironmentLocation {
+ pub name: TextWithRange,
+ pub full_range: Range,
+}
+
+#[derive(Debug, PartialEq, Eq, Clone, Serialize, Deserialize)]
+#[serde(rename_all = "camelCase")]
+pub struct TextWithRange {
+ pub text: String,
+ pub range: Range,
+}
diff --git a/support/texlab/crates/texlab/src/util/cursor.rs b/support/texlab/crates/texlab/src/util/cursor.rs
index b03036386c..a39d0e7bf7 100644
--- a/support/texlab/crates/texlab/src/util/cursor.rs
+++ b/support/texlab/crates/texlab/src/util/cursor.rs
@@ -241,18 +241,13 @@ impl<'a, T> CursorContext<'a, T> {
pub fn find_environment(&self) -> Option<(latex::Key, latex::Key)> {
let token = self.cursor.as_tex()?;
-
- for env in token
+ let env = token
.parent_ancestors()
- .filter_map(latex::Environment::cast)
- {
- let beg = env.begin()?.name()?.key()?;
- let end = env.end()?.name()?.key()?;
-
- return Some((beg, end));
- }
+ .find_map(latex::Environment::cast)?;
- None
+ let beg = env.begin()?.name()?.key()?;
+ let end = env.end()?.name()?.key()?;
+ Some((beg, end))
}
pub fn find_curly_group_word(&self) -> Option<(String, TextRange, latex::CurlyGroupWord)> {
diff --git a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
index b8568fd2fd..050ae5afd3 100644
--- a/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
+++ b/support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__inlay_hint__label_definition.snap
@@ -1,38 +1,38 @@
---
-source: tests/lsp/text_document/inlay_hint.rs
+source: crates/texlab/tests/lsp/text_document/inlay_hint.rs
expression: "find_hints(r#\"\n%! main.tex\n\\documentclass{article}\n\\usepackage{caption}\n\\begin{document}\n\\section{Foo}\\label{sec:foo}\n\\section{Bar}\\label{sec:bar}\n\\subsection{Baz}\\label{sec:baz}\n\\begin{figure}\n Test\n \\label{fig:qux}\n \\caption{Qux}\n\\end{figure}\n\\end{document}\n |\n\n%! main.aux\n\\relax \n\\providecommand*\\caption@xref[2]{\\@setref\\relax\\@undefined{#1}}\n\\newlabel{fig:qux}{{\\caption@xref {fig:qux}{ on input line 15}}{1}}\n\\@writefile{lof}{\\contentsline {figure}{\\numberline {1}{\\ignorespaces Qux\\relax }}{1}{}\\protected@file@percent }\n\\@writefile{toc}{\\contentsline {section}{\\numberline {1}Foo}{1}{}\\protected@file@percent }\n\\newlabel{sec:foo}{{1}{1}}\n\\@writefile{toc}{\\contentsline {section}{\\numberline {2}Bar}{1}{}\\protected@file@percent }\n\\newlabel{sec:bar}{{2}{1}}\n\\@writefile{toc}{\\contentsline {subsection}{\\numberline {2.1}Baz}{1}{}\\protected@file@percent }\n\\newlabel{sec:baz}{{2.1}{1}}\n\\gdef \\@abspage@last{1}\"#)"
---
[
{
"position": {
"line": 3,
- "character": 27
+ "character": 28
},
- "label": "Section 1",
+ "label": " Section 1 ",
"paddingLeft": true
},
{
"position": {
"line": 4,
- "character": 27
+ "character": 28
},
- "label": "Section 2",
+ "label": " Section 2 ",
"paddingLeft": true
},
{
"position": {
"line": 5,
- "character": 30
+ "character": 31
},
- "label": "Subsection 2.1",
+ "label": " Subsection 2.1 ",
"paddingLeft": true
},
{
"position": {
"line": 8,
- "character": 18
+ "character": 19
},
- "label": "Figure fig:qux",
+ "label": " Figure fig:qux ",
"paddingLeft": true
}
]
diff --git a/support/texlab/texlab.1 b/support/texlab/texlab.1
index 8d0ecbeb45..4042ae0f1e 100644
--- a/support/texlab/texlab.1
+++ b/support/texlab/texlab.1
@@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.13.
-.TH TEXLAB "1" "May 2023" "texlab 5.6.0" "User Commands"
+.TH TEXLAB "1" "June 2023" "texlab 5.7.0" "User Commands"
.SH NAME
-texlab \- manual page for texlab 5.6.0
+texlab \- manual page for texlab 5.7.0
.SH SYNOPSIS
.B texlab
[\fI\,OPTIONS\/\fR]
diff --git a/support/texlab/texlab.pdf b/support/texlab/texlab.pdf
index a7ed8d359f..ed15c250f5 100644
--- a/support/texlab/texlab.pdf
+++ b/support/texlab/texlab.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 3efcd85392..0a00a3f99d 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -110,6 +110,7 @@ $mirrors = {
'https://ftp.tu-chemnitz.de/pub/tex/' => 1,
'https://mirror.clientvps.com/CTAN/' => 1,
'https://mirror.dogado.de/tex-archive/' => 1,
+ 'https://mirror.funkfreundelandshut.de/latex/' => 1,
'https://mirror.physik.tu-berlin.de/pub/CTAN/' => 1,
'https://packages.oth-regensburg.de/ctan/' => 1,
},
@@ -136,9 +137,11 @@ $mirrors = {
'Poland' => {
'https://ctan.gust.org.pl/tex-archive/' => 1,
'https://polish-mirror.evolution-host.com/ctan/' => 1,
+ 'https://repo.skni.umcs.pl/ctan/' => 1,
'https://sunsite.icm.edu.pl/pub/CTAN/' => 1,
},
'Portugal' => {
+ 'https://ftp.eq.uc.pt/software/TeX/' => 1,
'https://mirrors.up.pt/pub/CTAN/' => 1,
},
'Romania' => {
@@ -182,6 +185,9 @@ $mirrors = {
'https://mirror.quantum5.ca/CTAN/' => 1,
'https://muug.ca/mirror/ctan/' => 1,
},
+ 'Costa Rica' => {
+ 'https://mirrors.ucr.ac.cr/CTAN/' => 1,
+ },
'USA' => {
'http://bay.uchicago.edu/CTAN/' => 1,
'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 8a39d121b4..84b36a7cf8 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/67297
+depend revision/67299
name 00texlive.image
category TLCore
-revision 67297
+revision 67300
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
@@ -4752,7 +4752,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 67291
+revision 67299
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -25220,7 +25220,7 @@ catalogue-version 0.1c
name asymptote
category TLCore
-revision 65952
+revision 67300
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
@@ -25228,10 +25228,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 380088
-containerchecksum 542d3cd627809d51ce25d45b196deab802ce04744047e1370fc7e8f05df111c781e4a9587bd5aaa751c40cfa4397f930ab1436dd2749f46fc972b629a786f7bb
+containersize 380084
+containerchecksum 327acc6f4d21a2babb4d10ce3e888e95027e11ab0466e5e98ef3fc8140f0553cb95e3f961534c614934522e7c995078ceeac10a7a62a64801edcbeb090e54bfa
doccontainersize 2364548
-doccontainerchecksum 7318f7e97f3cfab0c48b9fa6ca38b8238a41775ef054cc3499506dfd2c67e38ffd19137dffb394dda7fd61a2186450a30c299cf9116f93ff4b9639cad2437a9e
+doccontainerchecksum 38c4adaaf073eee94398ea11e7b9fe671278dc8f326689500abdc1a5ddd34b5be438de6686f830928e2cf879c1dec6c332e9c7228ebca1fa0c31284593c2c619
docfiles size=1309
texmf-dist/doc/asymptote/CAD.pdf details="Using Asymptote for 2D CAD"
texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
@@ -25772,7 +25772,7 @@ catalogue-contact-repository https://github.com/vectorgraphics/asymptote
catalogue-ctan /graphics/asymptote
catalogue-license lgpl3
catalogue-topics graphics graphics-engn
-catalogue-version 2.85
+catalogue-version 2.86
name asymptote-by-example-zh-cn
category Package
@@ -83216,7 +83216,7 @@ catalogue-version 1.1
name counterz
category Package
-revision 67253
+revision 67300
shortdesc Additional tools for counters
relocated 1
longdesc The package facilitates the use of stealth prefixes for counter
@@ -83225,14 +83225,14 @@ longdesc multiple input files. The package also provides a means to
longdesc generate random counters and save such counter values for
longdesc future typesetting.
containersize 2468
-containerchecksum eb32c920d5d35451f117045dfd7218291f337aea42888fcbac620a7f6552c38d960280cab2ee36b93152845ebc944b892aa8e74089d2c88266e9ff732ff4bcc0
-doccontainersize 314548
-doccontainerchecksum 3790c248011b51714b322bd68a8cc4c9d11e935f4b882e83b3264d77333eff1d44784f64983a291ee0a9b31b28799a7d82f74dc355f239388e17da6d4672514f
+containerchecksum 2d443eec2a2d5d6ec72eea77d3f7beb33240956a58e34e78575a8b9a433170775520f70a77acbef8dc932eb25df8e8aeebccb0d90b8ecae591cb5bbb68aca967
+doccontainersize 314552
+doccontainerchecksum c5f0cb6fe32e9cea758956f2e850e1908c841e4fe3e0a1f59b1bf84286d96db7cd2ad993742da8b054a73e2f75aff9d1c7fd892ea9de21e1722b55ca1dca7525
docfiles size=79
RELOC/doc/latex/counterz/README.txt details="Readme"
RELOC/doc/latex/counterz/counterz.pdf details="Package documentation"
-srccontainersize 10780
-srccontainerchecksum 99139f9b02dc3ebb5cf46392cb83975ef61bb789a7a145d53788bb603c1c9bf1e1a49b5011a2cfa27e57e2ed729144b437d79e2e7be111ee88c2611675707760
+srccontainersize 10776
+srccontainerchecksum 29c3a8f03ffb9c498f354b3fc8b94986b1668070b48dbf75ef841f80f37513587b5de6afd3a21a5b24a709a01e171bdff5d9de55f5f45fed56f2dadcc1e44249
srcfiles size=16
RELOC/source/latex/counterz/counterz.dtx
RELOC/source/latex/counterz/counterz.ins
@@ -83242,7 +83242,7 @@ catalogue-contact-repository https://github.com/roguewhistler/counterz
catalogue-ctan /macros/latex/contrib/counterz
catalogue-license lppl1.3c
catalogue-topics counter-mgmt
-catalogue-version 1.1.0
+catalogue-version 1.1.1
name countriesofeurope
category Package
@@ -116922,7 +116922,7 @@ catalogue-version 1.5
name exsheets
category Package
-revision 52227
+revision 67300
shortdesc Create exercise sheets and exams
relocated 1
longdesc The package provides the means to create exercises or questions
@@ -116939,10 +116939,10 @@ longdesc its official successor xsim. exsheets itself is now considered
longdesc obsolete, but will stay alive, and will continue to receive
longdesc bugfix releases. However, new features will not be added any
longdesc more.
-containersize 24116
-containerchecksum c1263842d06916762306b0ead03cfec31535f40d41a0abe504366d0a762850f683b10563d47d149e89ddd75c18c3da7687a19b0a5bbe2b628acac1ed891a8285
-doccontainersize 694564
-doccontainerchecksum fbb9dc0826789f6c19734b0b50925d035f3b55a5402dce6ced4cf6881c032d784d5f219b222170961a5e1563b2dd8a5c64e7bcdd434ca61dec94a857451250a8
+containersize 24084
+containerchecksum 475b2508bedfef0f537b02dde56e489ec464ab500e1b6b63e7d8accaf9d5c17e8973d9aee8d370494115592febe684262fbad239fabe5a314c5d89e781506377
+doccontainersize 694560
+doccontainerchecksum 8a00471bef6ab06927fc7c3a4c33e32a2f6de376cb238fa3e06e3e5a44c98b2ed413f74e60bb207c99c6e64f934bcb406d898bdaa0bd6d9c70b3b5133f4e8178
docfiles size=196
RELOC/doc/latex/exsheets/README details="Readme"
RELOC/doc/latex/exsheets/exsheets_en.pdf details="Package documentation"
@@ -116956,7 +116956,6 @@ runfiles size=42
RELOC/tex/latex/exsheets/exsheets_headings.cfg
RELOC/tex/latex/exsheets/exsheets_headings.def
catalogue-also xsim
-catalogue-contact-repository https://bitbucket.org/cgnieder/exsheets/
catalogue-ctan /macros/latex/contrib/exsheets
catalogue-license lppl1.3
catalogue-topics exercise exam expl3
@@ -226638,7 +226637,7 @@ catalogue-version 0.0.1
name njuthesis
category Package
-revision 67004
+revision 67300
shortdesc LaTeX thesis template for Nanjing University
relocated 1
longdesc The njuthesis class is intended for typesetting Nanjing
@@ -226646,16 +226645,16 @@ longdesc University dissertations with LaTeX, providing support for
longdesc bachelor, master, and doctoral theses as well as postdoctoral
longdesc reports. Compilation of this class requires either XeLaTeX or
longdesc LuaLaTeX.
-containersize 20512
-containerchecksum ff10a59e28f99cb7011058300590685f22251a9d3a92e56e2dc1f891081328dc9c4220a7e370689557a235523cdf55a1f13bfdc413045c03275aad66eec08665
-doccontainersize 1211600
-doccontainerchecksum d4fd3094545a4377013601f252d7f48b960f34cd35e1999f72909338e26932e2add6629caca6f7f297e62229157366f95e3b0eab500ef5111d679d1c7ebbdc21
+containersize 20516
+containerchecksum f8ee1b359ad43ccd57fcb9ddac2030f5c0174e57141618ada5eed33a082182c33bff199dfabaca193f2cc4677a1896cf08cd2fdaaa6bbac5ae355011e68391f7
+doccontainersize 1211604
+doccontainerchecksum 20337026a8af0ad14c4b1f8423ad04b8252496a8481613824e50662aa5edd8bb95dd8857ba4f7a10ec00572ce2509ab69aa899a26a47c6094da5197d5197ba3e
docfiles size=305
RELOC/doc/latex/njuthesis/LICENSE
RELOC/doc/latex/njuthesis/README.md details="Readme"
RELOC/doc/latex/njuthesis/njuthesis.pdf details="Package documentation" language="zh"
srccontainersize 66548
-srccontainerchecksum 563aecd1a79d823fdc0830161f6f18960e33fa26d1ff38cfc5a789801c33b913d26cd8188f540127fdeb5d9f717d285fd10a2681a8f2a2e71626815913d10368
+srccontainerchecksum c5ea82e9ed295835e01788745a0c3a789c0a5e2cdc502d33e3fbe4c59f887a8a19e6fd8993035108df936d4d146aca932aa6a0827e944373d6d37003be90080d
srcfiles size=76
RELOC/source/latex/njuthesis/njuthesis.dtx
RELOC/source/latex/njuthesis/njuthesis.ins
@@ -226672,7 +226671,7 @@ catalogue-contact-support https://github.com/nju-lug/NJUThesis/discussions
catalogue-ctan /macros/unicodetex/latex/njuthesis
catalogue-license lppl1.3c
catalogue-topics class dissertation proposal expl3 latex3 chinese
-catalogue-version 1.2.1
+catalogue-version 1.3.0
name njuvisual
category Package
@@ -297628,7 +297627,7 @@ catalogue-version 1.1
name tagpdf
category Package
-revision 67136
+revision 67300
shortdesc Tools for experimenting with tagging using pdfLaTeX and LuaLaTeX
relocated 1
longdesc The package offers tools to experiment with tagging and
@@ -297640,9 +297639,9 @@ 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 34932
-containerchecksum 269ab95609717876d6b06ff1e4e8ea79191369493a5197c948c2ca2f24c103f0e8cc4f52b53d5ee59c407761e6b86083585801dee00bc5f4739d04d0d048407c
-doccontainersize 2082936
-doccontainerchecksum 7c35f15d3f5341d23e1f4ce69762a359db82676ba1fdcf3a1cb060fc8843ea7bf1310c2ac2282a611831cc2eb5cc750723c6a45ad0fd4bfcb955c2c725f92709
+containerchecksum d63fa98bf9b61114bff9d3e716b6bef51152e4b065171e13f50dc1d1a021372cd4f7274f2b1a4487c66be907b3608b58241281746e02063463fc97a824e8a690
+doccontainersize 2082940
+doccontainerchecksum 8af78b8dd8c9686cca5e5cb2326de6b9c857d51e6a27dcbab6c7747cb48c4a17092974befce9e2dbfb2e14e85438ca96b0d0f7703c7ab6e850038545f02e15a4
docfiles size=763
RELOC/doc/latex/tagpdf/README.md details="Readme"
RELOC/doc/latex/tagpdf/acrobat.png
@@ -297678,8 +297677,8 @@ docfiles size=763
RELOC/doc/latex/tagpdf/tagpdf.bib
RELOC/doc/latex/tagpdf/tagpdf.pdf details="Package documentation"
RELOC/doc/latex/tagpdf/tagpdf.tex
-srccontainersize 63112
-srccontainerchecksum 7fbe95044cc14cad87420aa4f8fe95ae3528cd94bfba3013713f49ae840be938effa67583652cbf5e4ff1b98602149d1c99bb4dbc9020ac5c848e5fc16569044
+srccontainersize 63116
+srccontainerchecksum 9e847caa378cbcb52d028dbb75a38e92e92bc7cb01ca94d94f15c81edfa5cbe72ddeae07a911f279de31302ac02c07a19735a52b0a390156d0d4ba8a4a5fa8f4
srcfiles size=92
RELOC/source/latex/tagpdf/tagpdf-backend.dtx
RELOC/source/latex/tagpdf/tagpdf-checks.dtx
@@ -297718,7 +297717,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.98g
+catalogue-version 0.98h
name talk
category Package
@@ -312926,7 +312925,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 67291
+revision 67299
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -312934,10 +312933,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 114020
-containerchecksum 680f3c4bd1af2fb396dd877b49bd364e0d2c2c4635aa13e4aafc392ca707459ebca93c90d96fceaf0307ebca57c95925013fac09559d9c41a419e26a5c7cbf66
-doccontainersize 427064
-doccontainerchecksum e1948fd5cf14ce206238331b478916c9b4ced5059f810b021d9e95a6746f6ecd61df21c5ba4ce5e5fecadbb1cac26fead7e099dbdee5c7874bb46ccf44a8beba
+containersize 114084
+containerchecksum d3b91de179e8746c3193cee5f7f0f1f83e4aa0d4bcf2cc391d0f6149673b861d30c5b37591cccb5d59b2d62d57cbdb362ca2d5d1400d5996c98ff082ecba28f7
+doccontainersize 427072
+doccontainerchecksum 03b4ed5fbf223890e0db44c3f1212dc319861fc3ace62ea9990c806165a3a2b561e68cac4e4734c868cb4859bcf7952e21fc62c2ba1817cdaf86d5cfc883e40a
docfiles size=545
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -319181,7 +319180,7 @@ catalogue-version 1.1
name tikz-nfold
category Package
-revision 67133
+revision 67300
shortdesc Triple, quadruple, and n-fold paths with TikZ
relocated 1
longdesc This library adds higher-order paths to TikZ and also fixes
@@ -319190,9 +319189,9 @@ longdesc arrows with an Implies tip. It is also compatible with tikz-cd,
longdesc adding support for triple and higher arrows. Macros to offset
longdesc arbitrary paths are included as well.
containersize 16252
-containerchecksum f35fe1ce327723419001f962396ee667ecf3895c322a718a074b7e7b88dd93a2b72a153614bae73bb4ef646b8e431d653bb02cc6ed2b0c06cac491d236385c9a
+containerchecksum 310f6c8f1b0749ecf36284d162a311424ff1df23b632aabcb5ee8650eafa5d839f2698841b20ac429502c782d0ca66d8b62274eff633deca4005ca7bbb34257f
doccontainersize 273132
-doccontainerchecksum c8d4aed1376f39378ff8d3ec7b752a90bdb851e8049eba20d2098ef8fe3a1dda54722470a8a7e7ad3719ebf4a80432f9b7b7b1fff362f206b10fe1ba85d45144
+doccontainerchecksum 0f5369d569c8ad9a20ef00b6b5508ae8b2ed3a80451d83e456860c8716226e3a4357db62f67dca72956382000fc4daa401daa8f4f1dc8b4614fe878e8b7b3b2d
docfiles size=83
RELOC/doc/latex/tikz-nfold/README.md details="Readme"
RELOC/doc/latex/tikz-nfold/tikz-nfold-doc.pdf details="Package documentation"
@@ -319205,7 +319204,7 @@ catalogue-contact-repository https://github.com/jonschz/tikz-nfold
catalogue-ctan /graphics/pgf/contrib/tikz-nfold
catalogue-license lppl1.3c
catalogue-topics graphics pgf-tikz
-catalogue-version 0.1.2
+catalogue-version 0.1.3
name tikz-opm
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index c2b5befe1d..d2f3f8adf9 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-70c23261809acc7c123495e3bf3a3591 texlive.tlpdb
+fc4732945ffaea0768cc1e9692398bce texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index d2afbe985f..aa7679d023 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-e56fb989a7ced3a0163880bc1de7fd1bb6d52d671e7a28fb6f00f49fcc1647abd0a9903f8b995ead39c4eabe1f9ed666e14254f7ad0ef39a5116b893ecaebc5d texlive.tlpdb
+fd60d22efe69dcf2d9b814e0b8178ff2e86a06ba29889bfec3efd2923904b5f896a95acc3465aaca62821e4e79db3539037240c95e10f66b6562d80d9cb1e8ab texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 110ee16f99..8d603a8bca 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmR/xOgACgkQTOGHfhlD
-jHB8EwgAjY1qDei+K2RNiVXHLR9dZAPcqZ/grJdJVjaMYJhSgIk/CcjkURcKyMXX
-fCmg/sXz/cT62WRYRLci4KHHCnjuRLByAQoJS/C3Dfv7/YBIQANc3ZPqlfbMkITW
-0fT3NM0+GgkNfqlX2zkiCKyC+V+88+wKUgVKPBdz6/qThm1t/kwXVlxb5C6ZvRHv
-vCMyDUl6B7Exi9wFILuEKQD6mGa4vzgXT7siKmzMvcBYJQm4t3Kw6SSrMtlLmnH4
-NsZ80xPZMUAZ3yCZKahmq/84oWAUPNhiZoV8p73IQNgLdXqbMkd0DzZWsJKtyleL
-uAcOQv7LC20oa9vTb3Ws9Utu2d9NQA==
-=zCYJ
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmSBFmYACgkQTOGHfhlD
+jHDTuQf/aif1OL9N2cRZIi5dGRofrQOjmHyL1Uvs6cd0LBrDvwqy7JDZKL72TU/k
+bC/MdXgnmhkFW665Kckd/HoHvXrD17BbqXt21TxagLjX9fbSilj1xhrDdXNSHDYM
+wp9Nu37/y35AjXACCaFC/4pcURGNZIXOUtITlQIoV+4tfPv1aeWV0zv09fwo2I+F
+kCGCI644t34W3rq2BtbwMd5nnkk6PIKigZfQTNCzd5wWi0P8hMZ4EdyrJfQS4sE3
+d36TOct9Krs+TRRleOZVB3d9c8goEZejrOdoxCAPQ1Veay9mcdbWeW2bLDrEa/gD
+jJIMBBtEfadCKo4ra8TLbkEEIr5q9Q==
+=YREx
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 296ed0f70d..4d22bc3355 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index 09d9230dd3..7417cb388b 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2023-06-07-02-02
+2023-06-08-02-02