aboutsummaryrefslogtreecommitdiff
path: root/3rdparty/glfw/source/docs
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/glfw/source/docs')
-rw-r--r--3rdparty/glfw/source/docs/CMakeLists.txt46
-rw-r--r--3rdparty/glfw/source/docs/CODEOWNERS10
-rw-r--r--3rdparty/glfw/source/docs/CONTRIBUTING.md391
-rw-r--r--3rdparty/glfw/source/docs/Doxyfile.in2465
-rw-r--r--3rdparty/glfw/source/docs/DoxygenLayout.xml71
-rw-r--r--3rdparty/glfw/source/docs/SUPPORT.md14
-rw-r--r--3rdparty/glfw/source/docs/build.dox338
-rw-r--r--3rdparty/glfw/source/docs/compat.dox284
-rw-r--r--3rdparty/glfw/source/docs/compile.dox394
-rw-r--r--3rdparty/glfw/source/docs/context.dox342
-rw-r--r--3rdparty/glfw/source/docs/extra.css2
-rw-r--r--3rdparty/glfw/source/docs/extra.css.map7
-rw-r--r--3rdparty/glfw/source/docs/extra.scss449
-rw-r--r--3rdparty/glfw/source/docs/footer.html7
-rw-r--r--3rdparty/glfw/source/docs/header.html34
-rw-r--r--3rdparty/glfw/source/docs/input.dox953
-rw-r--r--3rdparty/glfw/source/docs/internal.dox123
-rw-r--r--3rdparty/glfw/source/docs/intro.dox619
-rw-r--r--3rdparty/glfw/source/docs/main.dox46
-rw-r--r--3rdparty/glfw/source/docs/monitor.dox268
-rw-r--r--3rdparty/glfw/source/docs/moving.dox513
-rw-r--r--3rdparty/glfw/source/docs/news.dox240
-rw-r--r--3rdparty/glfw/source/docs/quick.dox371
-rw-r--r--3rdparty/glfw/source/docs/spaces.svg877
-rw-r--r--3rdparty/glfw/source/docs/vulkan.dox246
-rw-r--r--3rdparty/glfw/source/docs/window.dox1457
26 files changed, 0 insertions, 10567 deletions
diff --git a/3rdparty/glfw/source/docs/CMakeLists.txt b/3rdparty/glfw/source/docs/CMakeLists.txt
deleted file mode 100644
index 79cad56..0000000
--- a/3rdparty/glfw/source/docs/CMakeLists.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-
-# NOTE: The order of this list determines the order of items in the Guides
-# (i.e. Pages) list in the generated documentation
-set(source_files
- main.dox
- news.dox
- quick.dox
- moving.dox
- compile.dox
- build.dox
- intro.dox
- context.dox
- monitor.dox
- window.dox
- input.dox
- vulkan.dox
- compat.dox
- internal.dox)
-
-set(extra_files DoxygenLayout.xml header.html footer.html extra.css spaces.svg)
-
-set(header_paths
- "${GLFW_SOURCE_DIR}/include/GLFW/glfw3.h"
- "${GLFW_SOURCE_DIR}/include/GLFW/glfw3native.h")
-
-# Format the source list into a Doxyfile INPUT value that Doxygen can parse
-foreach(path IN LISTS header_paths)
- string(APPEND GLFW_DOXYGEN_INPUT " \\\n\"${path}\"")
-endforeach()
-foreach(file IN LISTS source_files)
- string(APPEND GLFW_DOXYGEN_INPUT " \\\n\"${CMAKE_CURRENT_SOURCE_DIR}/${file}\"")
-endforeach()
-
-configure_file(Doxyfile.in Doxyfile @ONLY)
-
-add_custom_command(OUTPUT "html/index.html"
- COMMAND "${DOXYGEN_EXECUTABLE}"
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
- MAIN_DEPENDENCY Doxyfile
- DEPENDS ${header_paths} ${source_files} ${extra_files}
- COMMENT "Generating HTML documentation"
- VERBATIM)
-
-add_custom_target(docs ALL SOURCES "html/index.html")
-set_target_properties(docs PROPERTIES FOLDER "GLFW3")
-
diff --git a/3rdparty/glfw/source/docs/CODEOWNERS b/3rdparty/glfw/source/docs/CODEOWNERS
deleted file mode 100644
index 018808b..0000000
--- a/3rdparty/glfw/source/docs/CODEOWNERS
+++ /dev/null
@@ -1,10 +0,0 @@
-
-* @elmindreda
-
-src/wl_* @linkmauve
-
-docs/*.css @glfw/webdev
-docs/*.scss @glfw/webdev
-docs/*.html @glfw/webdev
-docs/*.xml @glfw/webdev
-
diff --git a/3rdparty/glfw/source/docs/CONTRIBUTING.md b/3rdparty/glfw/source/docs/CONTRIBUTING.md
deleted file mode 100644
index 11ddf09..0000000
--- a/3rdparty/glfw/source/docs/CONTRIBUTING.md
+++ /dev/null
@@ -1,391 +0,0 @@
-# Contribution Guide
-
-## Contents
-
-- [Asking a question](#asking-a-question)
-- [Reporting a bug](#reporting-a-bug)
- - [Reporting a compile or link bug](#reporting-a-compile-or-link-bug)
- - [Reporting a segfault or other crash bug](#reporting-a-segfault-or-other-crash-bug)
- - [Reporting a context creation bug](#reporting-a-context-creation-bug)
- - [Reporting a monitor or video mode bug](#reporting-a-monitor-or-video-mode-bug)
- - [Reporting a window, input or event bug](#reporting-a-window-input-or-event-bug)
- - [Reporting some other library bug](#reporting-some-other-library-bug)
- - [Reporting a documentation bug](#reporting-a-documentation-bug)
- - [Reporting a website bug](#reporting-a-website-bug)
-- [Requesting a feature](#requesting-a-feature)
-- [Contributing a bug fix](#contributing-a-bug-fix)
-- [Contributing a feature](#contributing-a-feature)
-
-
-## Asking a question
-
-Questions about how to use GLFW should be asked either in the [support
-section](https://discourse.glfw.org/c/support) of the forum, under the [Stack
-Overflow tag](https://stackoverflow.com/questions/tagged/glfw) or [Game
-Development tag](https://gamedev.stackexchange.com/questions/tagged/glfw) on
-Stack Exchange or in the IRC channel `#glfw` on
-[Libera.Chat](https://libera.chat/).
-
-Questions about the design or implementation of GLFW or about future plans
-should be asked in the [dev section](https://discourse.glfw.org/c/dev) of the
-forum or in the IRC channel. Please don't open a GitHub issue to discuss design
-questions without first checking with a maintainer.
-
-
-## Reporting a bug
-
-If GLFW is behaving unexpectedly at run-time, start by setting an [error
-callback](https://www.glfw.org/docs/latest/intro_guide.html#error_handling).
-GLFW will often tell you the cause of an error via this callback. If it
-doesn't, that might be a separate bug.
-
-If GLFW is crashing or triggering asserts, make sure that all your object
-handles and other pointers are valid.
-
-For bugs where it makes sense, a short, self contained example is absolutely
-invaluable. Just put it inline in the body text. Note that if the bug is
-reproducible with one of the test programs that come with GLFW, just mention
-that instead.
-
-__Don't worry about adding too much information__. Unimportant information can
-be abbreviated or removed later, but missing information can stall bug fixing,
-especially when your schedule doesn't align with that of the maintainer.
-
-__Please provide text as text, not as images__. This includes code, error
-messages and any other text. Text in images cannot be found by other users
-searching for the same problem and may have to be re-typed by maintainers when
-debugging.
-
-You don't need to manually indent your code or other text to quote it with
-GitHub Markdown; just surround it with triple backticks:
-
- ```
- Some quoted text.
- ```
-
-You can also add syntax highlighting by appending the common file extension:
-
- ```c
- int five(void)
- {
- return 5;
- }
- ```
-
-There are issue labels for both platforms and GPU manufacturers, so there is no
-need to mention these in the subject line. If you do, it will be removed when
-the issue is labeled.
-
-If your bug is already reported, please add any new information you have, or if
-it already has everything, give it a :+1:.
-
-
-### Reporting a compile or link bug
-
-__Note:__ GLFW needs many system APIs to do its job, which on some platforms
-means linking to many system libraries. If you are using GLFW as a static
-library, that means your application needs to link to these in addition to GLFW.
-
-__Note:__ Check the [Compiling
-GLFW](https://www.glfw.org/docs/latest/compile.html) guide and or [Building
-applications](https://www.glfw.org/docs/latest/build.html) guide for before
-opening an issue of this kind. Most issues are caused by a missing package or
-linker flag.
-
-Always include the __operating system name and version__ (e.g. `Windows
-7 64-bit` or `Ubuntu 15.10`) and the __compiler name and version__ (e.g. `Visual
-C++ 2015 Update 2`). If you are using an official release of GLFW,
-include the __GLFW release version__ (e.g. `3.1.2`), otherwise include the
-__GLFW commit ID__ (e.g. `3795d78b14ef06008889cc422a1fb8d642597751`) from Git.
-
-Please also include the __complete build log__ from your compiler and linker,
-even if it's long. It can always be shortened later, if necessary.
-
-
-#### Quick template
-
-```
-OS and version:
-Compiler version:
-Release or commit:
-Build log:
-```
-
-
-### Reporting a segfault or other crash bug
-
-Always include the __operating system name and version__ (e.g. `Windows
-7 64-bit` or `Ubuntu 15.10`). If you are using an official release of GLFW,
-include the __GLFW release version__ (e.g. `3.1.2`), otherwise include the
-__GLFW commit ID__ (e.g. `3795d78b14ef06008889cc422a1fb8d642597751`) from Git.
-
-Please also include any __error messages__ provided to your application via the
-[error
-callback](https://www.glfw.org/docs/latest/intro_guide.html#error_handling) and
-the __full call stack__ of the crash, or if the crash does not occur in debug
-mode, mention that instead.
-
-
-#### Quick template
-
-```
-OS and version:
-Release or commit:
-Error messages:
-Call stack:
-```
-
-
-### Reporting a context creation bug
-
-__Note:__ Windows ships with graphics drivers that do not support OpenGL. If
-GLFW says that your machine lacks support for OpenGL, it very likely does.
-Install drivers from the computer manufacturer or graphics card manufacturer
-([Nvidia](https://www.geforce.com/drivers),
-[AMD](https://www.amd.com/en/support),
-[Intel](https://www-ssl.intel.com/content/www/us/en/support/detect.html)) to
-fix this.
-
-__Note:__ AMD only supports OpenGL ES on Windows via EGL. See the
-[GLFW\_CONTEXT\_CREATION\_API](https://www.glfw.org/docs/latest/window_guide.html#window_hints_ctx)
-hint for how to select EGL.
-
-Please verify that context creation also fails with the `glfwinfo` tool before
-reporting it as a bug. This tool is included in the GLFW source tree as
-`tests/glfwinfo.c` and is built along with the library. It has switches for all
-GLFW context and framebuffer hints. Run `glfwinfo -h` for a complete list.
-
-Always include the __operating system name and version__ (e.g. `Windows
-7 64-bit` or `Ubuntu 15.10`). If you are using an official release of GLFW,
-include the __GLFW release version__ (e.g. `3.1.2`), otherwise include the
-__GLFW commit ID__ (e.g. `3795d78b14ef06008889cc422a1fb8d642597751`) from Git.
-
-If you are running your program in a virtual machine, please mention this and
-include the __VM name and version__ (e.g. `VirtualBox 5.1`).
-
-Please also include the __GLFW version string__ (`3.2.0 X11 EGL clock_gettime
-/dev/js`), as described
-[here](https://www.glfw.org/docs/latest/intro.html#intro_version_string), the
-__GPU model and driver version__ (e.g. `GeForce GTX660 with 352.79`), and the
-__output of `glfwinfo`__ (with switches matching any hints you set in your
-code) when reporting this kind of bug. If this tool doesn't run on the machine,
-mention that instead.
-
-
-#### Quick template
-
-```
-OS and version:
-GPU and driver:
-Release or commit:
-Version string:
-glfwinfo output:
-```
-
-
-### Reporting a monitor or video mode bug
-
-__Note:__ On headless systems on some platforms, no monitors are reported. This
-causes glfwGetPrimaryMonitor to return `NULL`, which not all applications are
-prepared for.
-
-__Note:__ Some third-party tools report more video modes than are approved of
-by the OS. For safety and compatibility, GLFW only reports video modes the OS
-wants programs to use. This is not a bug.
-
-The `monitors` tool is included in the GLFW source tree as `tests/monitors.c`
-and is built along with the library. It lists all information GLFW provides
-about monitors it detects.
-
-Always include the __operating system name and version__ (e.g. `Windows
-7 64-bit` or `Ubuntu 15.10`). If you are using an official release of GLFW,
-include the __GLFW release version__ (e.g. `3.1.2`), otherwise include the
-__GLFW commit ID__ (e.g. `3795d78b14ef06008889cc422a1fb8d642597751`) from Git.
-
-If you are running your program in a virtual machine, please mention this and
-include the __VM name and version__ (e.g. `VirtualBox 5.1`).
-
-Please also include any __error messages__ provided to your application via the
-[error
-callback](https://www.glfw.org/docs/latest/intro_guide.html#error_handling) and
-the __output of `monitors`__ when reporting this kind of bug. If this tool
-doesn't run on the machine, mention this instead.
-
-
-#### Quick template
-
-```
-OS and version:
-Release or commit:
-Error messages:
-monitors output:
-```
-
-
-### Reporting a window, input or event bug
-
-__Note:__ The exact ordering of related window events will sometimes differ.
-
-__Note:__ Window moving and resizing (by the user) will block the main thread on
-some platforms. This is not a bug. Set a [refresh
-callback](https://www.glfw.org/docs/latest/window.html#window_refresh) if you
-want to keep the window contents updated during a move or size operation.
-
-The `events` tool is included in the GLFW source tree as `tests/events.c` and is
-built along with the library. It prints all information provided to every
-callback supported by GLFW as events occur. Each event is listed with the time
-and a unique number to make discussions about event logs easier. The tool has
-command-line options for creating multiple windows and full screen windows.
-
-Always include the __operating system name and version__ (e.g. `Windows
-7 64-bit` or `Ubuntu 15.10`). If you are using an official release of GLFW,
-include the __GLFW release version__ (e.g. `3.1.2`), otherwise include the
-__GLFW commit ID__ (e.g. `3795d78b14ef06008889cc422a1fb8d642597751`) from Git.
-
-If you are running your program in a virtual machine, please mention this and
-include the __VM name and version__ (e.g. `VirtualBox 5.1`).
-
-Please also include any __error messages__ provided to your application via the
-[error
-callback](https://www.glfw.org/docs/latest/intro_guide.html#error_handling) and
-if relevant, the __output of `events`__ when reporting this kind of bug. If
-this tool doesn't run on the machine, mention this instead.
-
-__X11:__ If possible, please include what desktop environment (e.g. GNOME,
-Unity, KDE) and/or window manager (e.g. Openbox, dwm, Window Maker) you are
-running. If the bug is related to keyboard input, please include any input
-method (e.g. ibus, SCIM) you are using.
-
-
-#### Quick template
-
-```
-OS and version:
-Release or commit:
-Error messages:
-events output:
-```
-
-
-### Reporting some other library bug
-
-Always include the __operating system name and version__ (e.g. `Windows
-7 64-bit` or `Ubuntu 15.10`). If you are using an official release of GLFW,
-include the __GLFW release version__ (e.g. `3.1.2`), otherwise include the
-__GLFW commit ID__ (e.g. `3795d78b14ef06008889cc422a1fb8d642597751`) from Git.
-
-Please also include any __error messages__ provided to your application via the
-[error
-callback](https://www.glfw.org/docs/latest/intro_guide.html#error_handling), if
-relevant.
-
-
-#### Quick template
-
-```
-OS and version:
-Release or commit:
-Error messages:
-```
-
-
-### Reporting a documentation bug
-
-If you found a bug in the documentation, including this file, then it's fine to
-just link to that web page or mention that source file. You don't need to match
-the source to the output or vice versa.
-
-
-### Reporting a website bug
-
-If the bug is in the documentation (anything under `/docs/`) then please see the
-section above. Bugs in the rest of the site are reported to the [website
-source repository](https://github.com/glfw/website/issues).
-
-
-## Requesting a feature
-
-Please explain why you need the feature and how you intend to use it. If you
-have a specific API design in mind, please add that as well. If you have or are
-planning to write code for the feature, see the section below.
-
-If there already is a request for the feature you need, add your specific use
-case unless it is already mentioned. If it is, give it a :+1:.
-
-
-## Contributing a bug fix
-
-__Note:__ You must have all necessary [intellectual
-property rights](https://en.wikipedia.org/wiki/Intellectual_property) to any
-code you contribute. If you did not write the code yourself, you must explain
-where it came from and under what license you received it. Even code using the
-same license as GLFW may not be copied without attribution.
-
-__There is no preferred patch size__. A one character fix is just as welcome as
-a thousand line one, if that is the appropriate size for the fix.
-
-In addition to the code, a complete bug fix includes:
-
-- Change log entry in `README.md`, describing the incorrect behavior
-- Credits entries for all authors of the bug fix
-
-Bug fixes will not be rejected because they don't include all the above parts,
-but please keep in mind that maintainer time is finite and that there are many
-other bugs and features to work on.
-
-If the patch fixes a bug introduced after the last release, it should not get
-a change log entry.
-
-If you haven't already, read the excellent article [How to Write a Git Commit
-Message](https://chris.beams.io/posts/git-commit/).
-
-
-## Contributing a feature
-
-__Note:__ You must have all necessary rights to any code you contribute. If you
-did not write the code yourself, you must explain where it came from and under
-what license. Even code using the same license as GLFW may not be copied
-without attribution.
-
-__Note:__ If you haven't already implemented the feature, check first if there
-already is an open issue for it and if it's already being developed in an
-[experimental branch](https://github.com/glfw/glfw/branches/all).
-
-__There is no preferred patch size__. A one character change is just as welcome
-as one adding a thousand line one, if that is the appropriate size for the
-feature.
-
-In addition to the code, a complete feature includes:
-
-- Change log entry in `README.md`, listing all new symbols
-- News page entry, briefly describing the feature
-- Guide documentation, with minimal examples, in the relevant guide
-- Reference documentation, with all applicable tags
-- Cross-references and mentions in appropriate places
-- Credits entries for all authors of the feature
-
-If the feature requires platform-specific code, at minimum stubs must be added
-for the new platform function to all supported and experimental platforms.
-
-If it adds a new callback, support for it must be added to `tests/event.c`.
-
-If it adds a new monitor property, support for it must be added to
-`tests/monitor.c`.
-
-If it adds a new OpenGL, OpenGL ES or Vulkan option or extension, support
-for it must be added to `tests/glfwinfo.c` and the behavior of the library when
-the extension is missing documented in `docs/compat.dox`.
-
-If you haven't already, read the excellent article [How to Write a Git Commit
-Message](https://chris.beams.io/posts/git-commit/).
-
-Features will not be rejected because they don't include all the above parts,
-but please keep in mind that maintainer time is finite and that there are many
-other features and bugs to work on.
-
-Please also keep in mind that any part of the public API that has been included
-in a release cannot be changed until the next _major_ version. Features can be
-added and existing parts can sometimes be overloaded (in the general sense of
-doing more things, not in the C++ sense), but code written to the API of one
-minor release should both compile and run on subsequent minor releases.
-
diff --git a/3rdparty/glfw/source/docs/Doxyfile.in b/3rdparty/glfw/source/docs/Doxyfile.in
deleted file mode 100644
index 812eec5..0000000
--- a/3rdparty/glfw/source/docs/Doxyfile.in
+++ /dev/null
@@ -1,2465 +0,0 @@
-# Doxyfile 1.8.18
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project.
-#
-# All text after a double hash (##) is considered a comment and is placed in
-# front of the TAG it is preceding.
-#
-# All text after a single hash (#) is considered a comment and will be ignored.
-# The format is:
-# TAG = value [value, ...]
-# For lists, items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (\" \").
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the configuration
-# file that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
-# The default value is: UTF-8.
-
-DOXYFILE_ENCODING = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
-# double-quotes, unless you are using Doxywizard) that should identify the
-# project for which the documentation is generated. This name is used in the
-# title of most generated pages and in a few other places.
-# The default value is: My Project.
-
-PROJECT_NAME = "GLFW"
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
-# could be handy for archiving the generated documentation or if some version
-# control system is used.
-
-PROJECT_NUMBER = @GLFW_VERSION@
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer a
-# quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF = "A multi-platform library for OpenGL, window and input"
-
-# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
-# in the documentation. The maximum height of the logo should not exceed 55
-# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
-# the logo to the output directory.
-
-PROJECT_LOGO =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
-# into which the generated documentation will be written. If a relative path is
-# entered, it will be relative to the location where doxygen was started. If
-# left blank the current directory will be used.
-
-OUTPUT_DIRECTORY = "@GLFW_BINARY_DIR@/docs"
-
-# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
-# directories (in 2 levels) under the output directory of each output format and
-# will distribute the generated files over these directories. Enabling this
-# option can be useful when feeding doxygen a huge amount of source files, where
-# putting all generated files in the same directory would otherwise causes
-# performance problems for the file system.
-# The default value is: NO.
-
-CREATE_SUBDIRS = NO
-
-# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
-# characters to appear in the names of generated files. If set to NO, non-ASCII
-# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
-# U+3044.
-# The default value is: NO.
-
-ALLOW_UNICODE_NAMES = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
-# Ukrainian and Vietnamese.
-# The default value is: English.
-
-OUTPUT_LANGUAGE = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
-# descriptions after the members that are listed in the file and class
-# documentation (similar to Javadoc). Set to NO to disable this.
-# The default value is: YES.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
-# description of a member or function before the detailed description
-#
-# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-# The default value is: YES.
-
-REPEAT_BRIEF = NO
-
-# This tag implements a quasi-intelligent brief description abbreviator that is
-# used to form the text in various listings. Each string in this list, if found
-# as the leading text of the brief description, will be stripped from the text
-# and the result, after processing the whole list, is used as the annotated
-# text. Otherwise, the brief description is used as-is. If left blank, the
-# following values are used ($name is automatically replaced with the name of
-# the entity):The $name class, The $name widget, The $name file, is, provides,
-# specifies, contains, represents, a, an and the.
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# doxygen will generate a detailed section even if there is only a brief
-# description.
-# The default value is: NO.
-
-ALWAYS_DETAILED_SEC = YES
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-# The default value is: NO.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
-# before files name in the file list and in the header files. If set to NO the
-# shortest path that makes the file name unique will be used
-# The default value is: YES.
-
-FULL_PATH_NAMES = NO
-
-# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
-# Stripping is only done if one of the specified strings matches the left-hand
-# part of the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the path to
-# strip.
-#
-# Note that you can specify absolute paths here, but also relative paths, which
-# will be relative from the directory where doxygen is started.
-# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-
-STRIP_FROM_PATH =
-
-# 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 the reader which
-# header file to include in order to use a class. If left blank only the name of
-# the header file containing the class definition is used. Otherwise one should
-# specify the list of include paths that are normally passed to the compiler
-# using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
-# less readable) file names. This can be useful is your file systems doesn't
-# support long names like on DOS, Mac, or CD-ROM.
-# The default value is: NO.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
-# first line (until the first dot) of a Javadoc-style comment as the brief
-# description. If set to NO, the Javadoc-style will behave just like regular Qt-
-# style comments (thus requiring an explicit @brief command for a brief
-# description.)
-# The default value is: NO.
-
-JAVADOC_AUTOBRIEF = NO
-
-# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
-# such as
-# /***************
-# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
-# Javadoc-style will behave just like regular comments and it will not be
-# interpreted by doxygen.
-# The default value is: NO.
-
-JAVADOC_BANNER = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
-# line (until the first dot) of a Qt-style comment as the brief description. If
-# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
-# requiring an explicit \brief command for a brief description.)
-# The default value is: NO.
-
-QT_AUTOBRIEF = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
-# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
-# a brief description. This used to be the default behavior. The new default is
-# to treat a multi-line C++ comment block as a detailed description. Set this
-# tag to YES if you prefer the old behavior instead.
-#
-# Note that setting this tag to YES also means that rational rose comments are
-# not recognized any more.
-# The default value is: NO.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
-# documentation from any documented member that it re-implements.
-# The default value is: YES.
-
-INHERIT_DOCS = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
-# page for each member. If set to NO, the documentation of a member will be part
-# of the file/class/namespace that contains it.
-# The default value is: NO.
-
-SEPARATE_MEMBER_PAGES = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
-# uses this value to replace tabs by spaces in code fragments.
-# Minimum value: 1, maximum value: 16, default value: 4.
-
-TAB_SIZE = 8
-
-# This tag can be used to specify a number of aliases that act as commands in
-# the documentation. An alias has the form:
-# name=value
-# For example adding
-# "sideeffect=@par Side Effects:\n"
-# will allow you to put the command \sideeffect (or @sideeffect) in the
-# documentation, which will result in a user-defined paragraph with heading
-# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines (in the resulting output). You can put ^^ in the value part of an
-# alias to insert a newline as if a physical newline was in the original file.
-# When you need a literal { or } or , in the value part of an alias you have to
-# escape them by means of a backslash (\), this can lead to conflicts with the
-# commands \{ and \} for these it is advised to use the version @{ and @} or use
-# a double escape (\\{ and \\})
-
-ALIASES = "thread_safety=@par Thread safety^^" \
- "pointer_lifetime=@par Pointer lifetime^^" \
- "analysis=@par Analysis^^" \
- "reentrancy=@par Reentrancy^^" \
- "errors=@par Errors^^" \
- "callback_signature=@par Callback signature^^" \
- "glfw3=__GLFW 3:__" \
- "x11=__X11:__" \
- "wayland=__Wayland:__" \
- "win32=__Windows:__" \
- "macos=__macOS:__" \
- "linux=__Linux:__"
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
-# only. Doxygen will then generate output that is more tailored for C. For
-# instance, some of the names that are used will be different. The list of all
-# members will be omitted, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_FOR_C = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
-# Python sources only. Doxygen will then generate output that is more tailored
-# for that language. For instance, namespaces will be presented as packages,
-# qualified scopes will look different, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources. Doxygen will then generate output that is tailored for Fortran.
-# The default value is: NO.
-
-OPTIMIZE_FOR_FORTRAN = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for VHDL.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_VHDL = NO
-
-# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
-# sources only. Doxygen will then generate output that is more tailored for that
-# language. For instance, namespaces will be presented as modules, types will be
-# separated into more groups, etc.
-# The default value is: NO.
-
-OPTIMIZE_OUTPUT_SLICE = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given
-# extension. Doxygen has a built-in mapping, but you can override or extend it
-# using this tag. The format is ext=language, where ext is a file extension, and
-# language is one of the parsers supported by doxygen: IDL, Java, JavaScript,
-# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL,
-# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
-# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
-# tries to guess whether the code is fixed or free formatted code, this is the
-# default for Fortran type files). For instance to make doxygen treat .inc files
-# as Fortran files (default is PHP), and .f files as C (default is Fortran),
-# use: inc=Fortran f=C.
-#
-# Note: For files without extension you can use no_extension as a placeholder.
-#
-# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
-# the files are not read by doxygen.
-
-EXTENSION_MAPPING =
-
-# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
-# according to the Markdown format, which allows for more readable
-# documentation. See https://daringfireball.net/projects/markdown/ for details.
-# The output of markdown processing is further processed by doxygen, so you can
-# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
-# case of backward compatibilities issues.
-# The default value is: YES.
-
-MARKDOWN_SUPPORT = YES
-
-# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
-# to that level are automatically included in the table of contents, even if
-# they do not have an id attribute.
-# Note: This feature currently applies only to Markdown headings.
-# Minimum value: 0, maximum value: 99, default value: 5.
-# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
-
-TOC_INCLUDE_HEADINGS = 5
-
-# When enabled doxygen tries to link words that correspond to documented
-# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by putting a % sign in front of the word or
-# globally by setting AUTOLINK_SUPPORT to NO.
-# The default value is: YES.
-
-AUTOLINK_SUPPORT = YES
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should set this
-# tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string);
-# versus func(std::string) {}). This also make the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-# The default value is: NO.
-
-BUILTIN_STL_SUPPORT = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-# The default value is: NO.
-
-CPP_CLI_SUPPORT = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
-# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
-# will parse them like normal C++ but will assume all classes use public instead
-# of private inheritance when no explicit protection keyword is present.
-# The default value is: NO.
-
-SIP_SUPPORT = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate
-# getter and setter methods for a property. Setting this option to YES will make
-# doxygen to replace the get and set methods by a property in the documentation.
-# This will only work if the methods are indeed getting or setting a simple
-# type. If this is not the case, or you want to show the methods anyway, you
-# should set this option to NO.
-# The default value is: YES.
-
-IDL_PROPERTY_SUPPORT = NO
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-# The default value is: NO.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# If one adds a struct or class to a group and this option is enabled, then also
-# any nested class or struct is added to the same group. By default this option
-# is disabled and one has to add nested compounds explicitly via \ingroup.
-# The default value is: NO.
-
-GROUP_NESTED_COMPOUNDS = NO
-
-# Set the SUBGROUPING tag to YES to allow class member groups of the same type
-# (for instance a group of public functions) to be put as a subgroup of that
-# type (e.g. under the Public Functions section). Set it to NO to prevent
-# subgrouping. Alternatively, this can be done per class using the
-# \nosubgrouping command.
-# The default value is: YES.
-
-SUBGROUPING = YES
-
-# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
-# are shown inside the group in which they are included (e.g. using \ingroup)
-# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
-# and RTF).
-#
-# Note that this feature does not work in combination with
-# SEPARATE_MEMBER_PAGES.
-# The default value is: NO.
-
-INLINE_GROUPED_CLASSES = NO
-
-# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
-# with only public data fields or simple typedef fields will be shown inline in
-# the documentation of the scope in which they are defined (i.e. file,
-# namespace, or group documentation), provided this scope is documented. If set
-# to NO, structs, classes, and unions are shown on a separate page (for HTML and
-# Man pages) or section (for LaTeX and RTF).
-# The default value is: NO.
-
-INLINE_SIMPLE_STRUCTS = NO
-
-# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
-# enum is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically be
-# useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-# The default value is: NO.
-
-TYPEDEF_HIDES_STRUCT = NO
-
-# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
-# cache is used to resolve symbols given their name and scope. Since this can be
-# an expensive process and often the same symbol appears multiple times in the
-# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
-# doxygen will become slower. If the cache is too large, memory is wasted. The
-# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
-# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
-# symbols. At the end of a run doxygen will report the cache usage and suggest
-# the optimal cache size from a speed point of view.
-# Minimum value: 0, maximum value: 9, default value: 0.
-
-LOOKUP_CACHE_SIZE = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
-# documentation are documented, even if no documentation was available. Private
-# class members and static file members will be hidden unless the
-# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
-# Note: This will also disable the warnings about undocumented members that are
-# normally produced when WARNINGS is set to YES.
-# The default value is: NO.
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
-# be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
-# methods of a class will be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PRIV_VIRTUAL = NO
-
-# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
-# scope will be included in the documentation.
-# The default value is: NO.
-
-EXTRACT_PACKAGE = NO
-
-# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
-# included in the documentation.
-# The default value is: NO.
-
-EXTRACT_STATIC = NO
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO,
-# only classes defined in header files are included. Does not have any effect
-# for Java sources.
-# The default value is: YES.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. If set to YES, local methods,
-# which are defined in the implementation section but not in the interface are
-# included in the documentation. If set to NO, only methods in the interface are
-# included.
-# The default value is: NO.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base name of
-# the file that contains the anonymous namespace. By default anonymous namespace
-# are hidden.
-# The default value is: NO.
-
-EXTRACT_ANON_NSPACES = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
-# undocumented members inside documented classes or files. If set to NO these
-# members will be included in the various overviews, but no documentation
-# section is generated. This option has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy. If set
-# to NO, these classes will be included in the various overviews. This option
-# has no effect if EXTRACT_ALL is enabled.
-# The default value is: NO.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
-# declarations. If set to NO, these declarations will be included in the
-# documentation.
-# The default value is: NO.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
-# documentation blocks found inside the body of a function. If set to NO, these
-# blocks will be appended to the function's detailed documentation block.
-# The default value is: NO.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation that is typed after a
-# \internal command is included. If the tag is set to NO then the documentation
-# will be excluded. Set it to YES to include the internal documentation.
-# The default value is: NO.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
-# names in lower-case letters. If set to YES, upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# (including Cygwin) ands Mac users are advised to set this option to NO.
-# The default value is: system dependent.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
-# their full class and namespace scopes in the documentation. If set to YES, the
-# scope will be hidden.
-# The default value is: NO.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
-# append additional text to a page's title, such as Class Reference. If set to
-# YES the compound reference will be hidden.
-# The default value is: NO.
-
-HIDE_COMPOUND_REFERENCE= NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
-# the files that are included by a file in the documentation of that file.
-# The default value is: YES.
-
-SHOW_INCLUDE_FILES = NO
-
-# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
-# grouped member an include statement to the documentation, telling the reader
-# which file to include in order to use the member.
-# The default value is: NO.
-
-SHOW_GROUPED_MEMB_INC = NO
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
-# files with double quotes in the documentation rather than with sharp brackets.
-# The default value is: NO.
-
-FORCE_LOCAL_INCLUDES = NO
-
-# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
-# documentation for inline members.
-# The default value is: YES.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
-# (detailed) documentation of file and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order.
-# The default value is: YES.
-
-SORT_MEMBER_DOCS = NO
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
-# descriptions of file, namespace and class members alphabetically by member
-# name. If set to NO, the members will appear in declaration order. Note that
-# this will also influence the order of the classes in the class list.
-# The default value is: NO.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
-# (brief and detailed) documentation of class members so that constructors and
-# destructors are listed first. If set to NO the constructors will appear in the
-# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
-# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
-# member documentation.
-# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
-# detailed member documentation.
-# The default value is: NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
-# of group names into alphabetical order. If set to NO the group names will
-# appear in their defined order.
-# The default value is: NO.
-
-SORT_GROUP_NAMES = YES
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
-# fully-qualified names, including namespaces. If set to NO, the class list will
-# be sorted only by class name, not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the alphabetical
-# list.
-# The default value is: NO.
-
-SORT_BY_SCOPE_NAME = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
-# type resolution of all parameters of a function it will reject a match between
-# the prototype and the implementation of a member function even if there is
-# only one candidate or it is obvious which candidate to choose by doing a
-# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
-# accept a match between prototype and implementation in such cases.
-# The default value is: NO.
-
-STRICT_PROTO_MATCHING = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
-# list. This list is created by putting \todo commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
-# list. This list is created by putting \test commands in the documentation.
-# The default value is: YES.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
-# list. This list is created by putting \bug commands in the documentation.
-# The default value is: YES.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
-# the deprecated list. This list is created by putting \deprecated commands in
-# the documentation.
-# The default value is: YES.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional documentation
-# sections, marked by \if <section_label> ... \endif and \cond <section_label>
-# ... \endcond blocks.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
-# initial value of a variable or macro / define can have for it to appear in the
-# documentation. If the initializer consists of more lines than specified here
-# it will be hidden. Use a value of 0 to hide initializers completely. The
-# appearance of the value of individual variables and macros / defines can be
-# controlled using \showinitializer or \hideinitializer command in the
-# documentation regardless of this setting.
-# Minimum value: 0, maximum value: 10000, default value: 30.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
-# the bottom of the documentation of classes and structs. If set to YES, the
-# list will mention the files that were used to generate the documentation.
-# The default value is: YES.
-
-SHOW_USED_FILES = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
-# will remove the Files entry from the Quick Index and from the Folder Tree View
-# (if specified).
-# The default value is: YES.
-
-SHOW_FILES = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
-# page. This will remove the Namespaces entry from the Quick Index and from the
-# Folder Tree View (if specified).
-# The default value is: YES.
-
-SHOW_NAMESPACES = NO
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command command input-file, where command is the value of the
-# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
-# by doxygen. Whatever the program writes to standard output is used as the file
-# version. For an example see the documentation.
-
-FILE_VERSION_FILTER =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. To create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option. You can
-# optionally specify a file name after the option, if omitted DoxygenLayout.xml
-# will be used as the name of the layout file.
-#
-# Note that if you run doxygen from a directory containing a file called
-# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
-# tag is left empty.
-
-LAYOUT_FILE = "@GLFW_SOURCE_DIR@/docs/DoxygenLayout.xml"
-
-# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
-# the reference definitions. This must be a list of .bib files. The .bib
-# extension is automatically appended if omitted. This requires the bibtex tool
-# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
-# For LaTeX the style of the bibliography can be controlled using
-# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
-# search path. See also \cite for info how to create references.
-
-CITE_BIB_FILES =
-
-#---------------------------------------------------------------------------
-# Configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated to
-# standard output by doxygen. If QUIET is set to YES this implies that the
-# messages are off.
-# The default value is: NO.
-
-QUIET = YES
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
-# this implies that the warnings are on.
-#
-# Tip: Turn warnings on while writing the documentation.
-# The default value is: YES.
-
-WARNINGS = YES
-
-# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
-# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
-# will automatically be disabled.
-# The default value is: YES.
-
-WARN_IF_UNDOCUMENTED = YES
-
-# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some parameters
-# in a documented function, or documenting parameters that don't exist or using
-# markup commands wrongly.
-# The default value is: YES.
-
-WARN_IF_DOC_ERROR = YES
-
-# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
-# are documented, but have no documentation for their parameters or return
-# value. If set to NO, doxygen will only warn about wrong or incomplete
-# parameter documentation, but not about the absence of documentation. If
-# EXTRACT_ALL is set to YES then this flag will automatically be disabled.
-# The default value is: NO.
-
-WARN_NO_PARAMDOC = YES
-
-# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
-# a warning is encountered.
-# The default value is: NO.
-
-WARN_AS_ERROR = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that doxygen
-# can produce. The string should contain the $file, $line, and $text tags, which
-# will be replaced by the file and line number from which the warning originated
-# and the warning text. Optionally the format may contain $version, which will
-# be replaced by the version of the file (if it could be obtained via
-# FILE_VERSION_FILTER)
-# The default value is: $file:$line: $text.
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning and error
-# messages should be written. If left blank the output is written to standard
-# error (stderr).
-
-WARN_LOGFILE = "@GLFW_BINARY_DIR@/docs/warnings.txt"
-
-#---------------------------------------------------------------------------
-# Configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag is used to specify the files and/or directories that contain
-# documented source files. You may enter file names like myfile.cpp or
-# directories like /usr/src/myproject. Separate the files or directories with
-# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
-# Note: If this tag is empty the current directory is searched.
-
-INPUT = @GLFW_DOXYGEN_INPUT@
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
-# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
-# documentation (see: https://www.gnu.org/software/libiconv/) for the list of
-# possible encodings.
-# The default value is: UTF-8.
-
-INPUT_ENCODING = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
-# *.h) to filter out the source-files in the directories.
-#
-# Note that for custom extensions or not directly supported extensions you also
-# need to set EXTENSION_MAPPING for the extension otherwise the files are not
-# read by doxygen.
-#
-# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
-# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
-# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
-# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment),
-# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen
-# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
-# *.vhdl, *.ucf, *.qsf and *.ice.
-
-FILE_PATTERNS = *.h *.dox
-
-# The RECURSIVE tag can be used to specify whether or not subdirectories should
-# be searched for input files as well.
-# The default value is: NO.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should be
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-#
-# Note that relative paths are relative to the directory from which doxygen is
-# run.
-
-EXCLUDE =
-
-# 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
-# from the input.
-# The default value is: NO.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories for example use the pattern */test/*
-
-EXCLUDE_PATTERNS =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-#
-# Note that the wildcards are matched against the file with absolute path, so to
-# exclude all test directories use the pattern */test/*
-
-EXCLUDE_SYMBOLS = APIENTRY GLFWAPI
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or directories
-# that contain example code fragments that are included (see the \include
-# command).
-
-EXAMPLE_PATH = "@GLFW_SOURCE_DIR@/examples"
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
-# *.h) to filter out the source-files in the directories. If left blank all
-# files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude commands
-# irrespective of the value of the RECURSIVE tag.
-# The default value is: NO.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or directories
-# that contain images that are to be included in the documentation (see the
-# \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command:
-#
-# <filter> <input-file>
-#
-# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
-# name of an input file. Doxygen will then use the output that the filter
-# program writes to standard output. If FILTER_PATTERNS is specified, this tag
-# will be ignored.
-#
-# Note that the filter must not add or remove lines; it is applied before the
-# code is scanned, but not when the output code is generated. If lines are added
-# or removed, the anchors will not be placed correctly.
-#
-# Note that for custom extensions or not directly supported extensions you also
-# need to set EXTENSION_MAPPING for the extension otherwise the files are not
-# properly processed by doxygen.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form: pattern=filter
-# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
-# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
-# patterns match the file name, INPUT_FILTER is applied.
-#
-# Note that for custom extensions or not directly supported extensions you also
-# need to set EXTENSION_MAPPING for the extension otherwise the files are not
-# properly processed by doxygen.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will also be used to filter the input files that are used for
-# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
-# The default value is: NO.
-
-FILTER_SOURCE_FILES = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
-# it is also possible to disable source filtering for a specific pattern using
-# *.ext= (so without naming a filter).
-# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
-
-FILTER_SOURCE_PATTERNS =
-
-# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
-# is part of the input, its contents will be placed on the main page
-# (index.html). This can be useful if you have a project on for instance GitHub
-# and want to reuse the introduction page also for the doxygen output.
-
-USE_MDFILE_AS_MAINPAGE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
-# generated. Documented entities will be cross-referenced with these sources.
-#
-# Note: To get rid of all source code in the generated output, make sure that
-# also VERBATIM_HEADERS is set to NO.
-# The default value is: NO.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body of functions,
-# classes and enums directly into the documentation.
-# The default value is: NO.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
-# special comment blocks from generated source code fragments. Normal C, C++ and
-# Fortran comments will always remain visible.
-# The default value is: YES.
-
-STRIP_CODE_COMMENTS = YES
-
-# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# entity all documented functions referencing it will be listed.
-# The default value is: NO.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES then for each documented function
-# all documented entities called/used by that function will be listed.
-# The default value is: NO.
-
-REFERENCES_RELATION = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
-# to YES then the hyperlinks from functions in REFERENCES_RELATION and
-# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
-# link to the documentation.
-# The default value is: YES.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
-# source code will show a tooltip with additional information such as prototype,
-# brief description and links to the definition and documentation. Since this
-# will make the HTML file larger and loading of large files a bit slower, you
-# can opt to disable this feature.
-# The default value is: YES.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-SOURCE_TOOLTIPS = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code will
-# point to the HTML generated by the htags(1) tool instead of doxygen built-in
-# source browser. The htags tool is part of GNU's global source tagging system
-# (see https://www.gnu.org/software/global/global.html). You will need version
-# 4.8.6 or higher.
-#
-# To use it do the following:
-# - Install the latest version of global
-# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
-# - Make sure the INPUT points to the root of the source tree
-# - Run doxygen as normal
-#
-# Doxygen will invoke htags (and that will in turn invoke gtags), so these
-# tools must be available from the command line (i.e. in the search path).
-#
-# The result: instead of the source browser generated by doxygen, the links to
-# source code will now point to the output of htags.
-# The default value is: NO.
-# This tag requires that the tag SOURCE_BROWSER is set to YES.
-
-USE_HTAGS = NO
-
-# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
-# verbatim copy of the header file for each class for which an include is
-# specified. Set to NO to disable this.
-# See also: Section \class.
-# The default value is: YES.
-
-VERBATIM_HEADERS = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
-# compounds will be generated. Enable this if the project contains a lot of
-# classes, structs, unions or interfaces.
-# The default value is: YES.
-
-ALPHABETICAL_INDEX = YES
-
-# In case all classes in a project start with a common prefix, all classes will
-# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
-# can be used to specify a prefix (or a list of prefixes) that should be ignored
-# while generating the index headers.
-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
-
-IGNORE_PREFIX = glfw GLFW_
-
-#---------------------------------------------------------------------------
-# Configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
-# The default value is: YES.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
-# generated HTML page (for example: .htm, .php, .asp).
-# The default value is: .html.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
-# each generated HTML page. If the tag is left blank doxygen will generate a
-# standard header.
-#
-# To get valid HTML the header file that includes any scripts and style sheets
-# that doxygen needs, which is dependent on the configuration options used (e.g.
-# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
-# default header using
-# doxygen -w html new_header.html new_footer.html new_stylesheet.css
-# YourConfigFile
-# and then modify the file new_header.html. See also section "Doxygen usage"
-# for information on how to generate the default header that doxygen normally
-# uses.
-# Note: The header is subject to change so you typically have to regenerate the
-# default header when upgrading to a newer version of doxygen. For a description
-# of the possible markers and block names see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_HEADER = "@GLFW_SOURCE_DIR@/docs/header.html"
-
-# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
-# generated HTML page. If the tag is left blank doxygen will generate a standard
-# footer. See HTML_HEADER for more information on how to generate a default
-# footer and what special commands can be used inside the footer. See also
-# section "Doxygen usage" for information on how to generate the default footer
-# that doxygen normally uses.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FOOTER = "@GLFW_SOURCE_DIR@/docs/footer.html"
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
-# sheet that is used by each HTML page. It can be used to fine-tune the look of
-# the HTML output. If left blank doxygen will generate a default style sheet.
-# See also section "Doxygen usage" for information on how to generate the style
-# sheet that doxygen normally uses.
-# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
-# it is more robust and this tag (HTML_STYLESHEET) will in the future become
-# obsolete.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_STYLESHEET =
-
-# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-# cascading style sheets that are included after the standard style sheets
-# created by doxygen. Using this option one can overrule certain style aspects.
-# This is preferred over using HTML_STYLESHEET since it does not replace the
-# standard style sheet and is therefore more robust against future updates.
-# Doxygen will copy the style sheet files to the output directory.
-# Note: The order of the extra style sheet files is of importance (e.g. the last
-# style sheet in the list overrules the setting of the previous ones in the
-# list). For an example see the documentation.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_STYLESHEET = "@GLFW_SOURCE_DIR@/docs/extra.css"
-
-# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the HTML output directory. Note
-# that these files will be copied to the base HTML output directory. Use the
-# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
-# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
-# files will be copied as-is; there are no commands or markers available.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_EXTRA_FILES = "@GLFW_SOURCE_DIR@/docs/spaces.svg"
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
-# will adjust the colors in the style sheet and background images according to
-# this color. Hue is specified as an angle on a colorwheel, see
-# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
-# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
-# purple, and 360 is red again.
-# Minimum value: 0, maximum value: 359, default value: 220.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_HUE = 220
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
-# in the HTML output. For a value of 0 the output will use grayscales only. A
-# value of 255 will produce the most vivid colors.
-# Minimum value: 0, maximum value: 255, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_SAT = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
-# luminance component of the colors in the HTML output. Values below 100
-# gradually make the output lighter, whereas values above 100 make the output
-# darker. The value divided by 100 is the actual gamma applied, so 80 represents
-# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
-# change the gamma.
-# Minimum value: 40, maximum value: 240, default value: 80.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_COLORSTYLE_GAMMA = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting this
-# to YES can help to show when doxygen was last run and thus if the
-# documentation is up to date.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_TIMESTAMP = YES
-
-# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
-# documentation will contain a main index with vertical navigation menus that
-# are dynamically created via JavaScript. If disabled, the navigation index will
-# consists of multiple levels of tabs that are statically embedded in every HTML
-# page. Disable this option to support browsers that do not have JavaScript,
-# like the Qt help browser.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_MENUS = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_DYNAMIC_SECTIONS = NO
-
-# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
-# shown in the various tree structured indices initially; the user can expand
-# and collapse entries dynamically later on. Doxygen will expand the tree to
-# such a level that at most the specified number of entries are visible (unless
-# a fully collapsed tree already exceeds this amount). So setting the number of
-# entries 1 will produce a full collapsed tree by default. 0 is a special value
-# representing an infinite number of entries and will result in a full expanded
-# tree by default.
-# Minimum value: 0, maximum value: 9999, default value: 100.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_INDEX_NUM_ENTRIES = 100
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files will be
-# generated that can be used as input for Apple's Xcode 3 integrated development
-# environment (see: https://developer.apple.com/xcode/), introduced with OSX
-# 10.5 (Leopard). To create a documentation set, doxygen will generate a
-# Makefile in the HTML output directory. Running make will produce the docset in
-# that directory and running make install will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
-# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
-# genXcode/_index.html for more information.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_DOCSET = NO
-
-# This tag determines the name of the docset feed. A documentation feed provides
-# an umbrella under which multiple documentation sets from a single provider
-# (such as a company or product suite) can be grouped.
-# The default value is: Doxygen generated docs.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_FEEDNAME = "Doxygen generated docs"
-
-# This tag specifies a string that should uniquely identify the documentation
-# set bundle. This should be a reverse domain-name style string, e.g.
-# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_BUNDLE_ID = org.doxygen.Project
-
-# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-# The default value is: org.doxygen.Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_ID = org.doxygen.Publisher
-
-# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
-# The default value is: Publisher.
-# This tag requires that the tag GENERATE_DOCSET is set to YES.
-
-DOCSET_PUBLISHER_NAME = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
-# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
-# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
-# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on
-# Windows.
-#
-# The HTML Help Workshop contains a compiler that can convert all HTML output
-# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
-# files are now used as the Windows 98 help format, and will replace the old
-# Windows help format (.hlp) on all Windows platforms in the future. Compressed
-# HTML files also contain an index, a table of contents, and you can search for
-# words in the documentation. The HTML workshop also contains a viewer for
-# compressed HTML files.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_HTMLHELP = NO
-
-# The CHM_FILE tag can be used to specify the file name of the resulting .chm
-# file. You can add a path in front of the file if the result should not be
-# written to the html output directory.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_FILE =
-
-# The HHC_LOCATION tag can be used to specify the location (absolute path
-# including file name) of the HTML help compiler (hhc.exe). If non-empty,
-# doxygen will try to run the HTML help compiler on the generated index.hhp.
-# The file has to be specified with full path.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-HHC_LOCATION =
-
-# The GENERATE_CHI flag controls if a separate .chi index file is generated
-# (YES) or that it should be included in the master .chm file (NO).
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-GENERATE_CHI = NO
-
-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
-# and project file content.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-CHM_INDEX_ENCODING =
-
-# The BINARY_TOC flag controls whether a binary table of contents is generated
-# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
-# enables the Previous and Next buttons.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members to
-# the table of contents of the HTML help documentation and to the tree view.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
-
-TOC_EXPAND = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
-# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
-# (.qch) of the generated HTML documentation.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_QHP = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
-# the file name of the resulting .qch file. The path specified is relative to
-# the HTML output folder.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QCH_FILE =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
-# Project output. For more information please see Qt Help Project / Namespace
-# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_NAMESPACE = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
-# Help Project output. For more information please see Qt Help Project / Virtual
-# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
-# folders).
-# The default value is: doc.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_VIRTUAL_FOLDER = doc
-
-# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
-# filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_NAME =
-
-# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see Qt Help Project / Custom
-# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
-# filters).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_CUST_FILTER_ATTRS =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's filter section matches. Qt Help Project / Filter Attributes (see:
-# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHP_SECT_FILTER_ATTRS =
-
-# The QHG_LOCATION tag can be used to specify the location of Qt's
-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
-# generated .qhp file.
-# This tag requires that the tag GENERATE_QHP is set to YES.
-
-QHG_LOCATION =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
-# generated, together with the HTML files, they form an Eclipse help plugin. To
-# install this plugin and make it available under the help contents menu in
-# Eclipse, the contents of the directory containing the HTML and XML files needs
-# to be copied into the plugins directory of eclipse. The name of the directory
-# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
-# After copying Eclipse needs to be restarted before the help appears.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_ECLIPSEHELP = NO
-
-# A unique identifier for the Eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have this
-# name. Each documentation set should have its own identifier.
-# The default value is: org.doxygen.Project.
-# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
-
-ECLIPSE_DOC_ID = org.doxygen.Project
-
-# If you want full control over the layout of the generated HTML pages it might
-# be necessary to disable the index and replace it with your own. The
-# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
-# of each HTML page. A value of NO enables the index and the value YES disables
-# it. Since the tabs in the index contain the same information as the navigation
-# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-DISABLE_INDEX = NO
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information. If the tag
-# value is set to YES, a side panel will be generated containing a tree-like
-# index structure (just like the one that is generated for HTML Help). For this
-# to work a browser that supports JavaScript, DHTML, CSS and frames is required
-# (i.e. any modern browser). Windows users are probably better off using the
-# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
-# further fine-tune the look of the index. As an example, the default style
-# sheet generated by doxygen has an example that shows how to put an image at
-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
-# the same information as the tab index, you could consider setting
-# DISABLE_INDEX to YES when enabling this option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-GENERATE_TREEVIEW = NO
-
-# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
-# doxygen will group on one line in the generated HTML documentation.
-#
-# Note that a value of 0 will completely suppress the enum values from appearing
-# in the overview section.
-# Minimum value: 0, maximum value: 20, default value: 4.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-ENUM_VALUES_PER_LINE = 4
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
-# to set the initial width (in pixels) of the frame in which the tree is shown.
-# Minimum value: 0, maximum value: 1500, default value: 250.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-TREEVIEW_WIDTH = 300
-
-# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
-# external symbols imported via tag files in a separate window.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-EXT_LINKS_IN_WINDOW = NO
-
-# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg
-# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see
-# https://inkscape.org) to generate formulas as SVG images instead of PNGs for
-# the HTML output. These images will generally look nicer at scaled resolutions.
-# Possible values are: png The default and svg Looks nicer but requires the
-# pdf2svg tool.
-# The default value is: png.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-HTML_FORMULA_FORMAT = png
-
-# Use this tag to change the font size of LaTeX formulas included as images in
-# the HTML documentation. When you change the font size after a successful
-# doxygen run you need to manually remove any form_*.png images from the HTML
-# output directory to force them to be regenerated.
-# Minimum value: 8, maximum value: 50, default value: 10.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_FONTSIZE = 10
-
-# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are not
-# supported properly for IE 6.0, but are supported on all modern browsers.
-#
-# Note that when changing this option you need to delete any form_*.png files in
-# the HTML output directory before the changes have effect.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-FORMULA_TRANSPARENT = YES
-
-# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands
-# to create new LaTeX commands to be used in formulas as building blocks. See
-# the section "Including formulas" for details.
-
-FORMULA_MACROFILE =
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
-# https://www.mathjax.org) which uses client side JavaScript for the rendering
-# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
-# installed or if you want to formulas look prettier in the HTML output. When
-# enabled you may also need to install MathJax separately and configure the path
-# to it using the MATHJAX_RELPATH option.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-USE_MATHJAX = NO
-
-# When MathJax is enabled you can set the default output format to be used for
-# the MathJax output. See the MathJax site (see:
-# http://docs.mathjax.org/en/latest/output.html) for more details.
-# Possible values are: HTML-CSS (which is slower, but has the best
-# compatibility), NativeMML (i.e. MathML) and SVG.
-# The default value is: HTML-CSS.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_FORMAT = HTML-CSS
-
-# When MathJax is enabled you need to specify the location relative to the HTML
-# output directory using the MATHJAX_RELPATH option. The destination directory
-# should contain the MathJax.js script. For instance, if the mathjax directory
-# is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
-# Content Delivery Network so you can quickly see the result without installing
-# MathJax. However, it is strongly recommended to install a local copy of
-# MathJax from https://www.mathjax.org before deployment.
-# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_RELPATH = https://cdn.jsdelivr.net/npm/mathjax@2
-
-# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
-# extension names that should be enabled during MathJax rendering. For example
-# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_EXTENSIONS =
-
-# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
-# of code that will be used on startup of the MathJax code. See the MathJax site
-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
-# example see the documentation.
-# This tag requires that the tag USE_MATHJAX is set to YES.
-
-MATHJAX_CODEFILE =
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
-# the HTML output. The underlying search engine uses javascript and DHTML and
-# should work on any modern browser. Note that when using HTML help
-# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
-# there is already a search function so this one should typically be disabled.
-# For large projects the javascript based search engine can be slow, then
-# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
-# search using the keyboard; to jump to the search box use <access key> + S
-# (what the <access key> is depends on the OS and browser, but it is typically
-# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
-# key> to jump into the search results window, the results can be navigated
-# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
-# the search. The filter options can be selected when the cursor is inside the
-# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
-# to select a filter and <Enter> or <escape> to activate or cancel the filter
-# option.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_HTML is set to YES.
-
-SEARCHENGINE = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a web server instead of a web client using JavaScript. There
-# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
-# setting. When disabled, doxygen will generate a PHP script for searching and
-# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
-# and searching needs to be provided by external tools. See the section
-# "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SERVER_BASED_SEARCH = NO
-
-# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
-# script for searching. Instead the search results are written to an XML file
-# which needs to be processed by an external indexer. Doxygen will invoke an
-# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
-# search results.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: https://xapian.org/).
-#
-# See the section "External Indexing and Searching" for details.
-# The default value is: NO.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH = NO
-
-# The SEARCHENGINE_URL should point to a search engine hosted by a web server
-# which will return the search results when EXTERNAL_SEARCH is enabled.
-#
-# Doxygen ships with an example indexer (doxyindexer) and search engine
-# (doxysearch.cgi) which are based on the open source search engine library
-# Xapian (see: https://xapian.org/). See the section "External Indexing and
-# Searching" for details.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHENGINE_URL =
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
-# search data is written to a file for indexing by an external tool. With the
-# SEARCHDATA_FILE tag the name of this file can be specified.
-# The default file is: searchdata.xml.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-SEARCHDATA_FILE = searchdata.xml
-
-# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
-# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
-# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
-# projects and redirect the results back to the right project.
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTERNAL_SEARCH_ID =
-
-# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
-# projects other than the one defined by this configuration file, but that are
-# all added to the same external search index. Each project needs to have a
-# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
-# to a relative location where the documentation can be found. The format is:
-# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
-# This tag requires that the tag SEARCHENGINE is set to YES.
-
-EXTRA_SEARCH_MAPPINGS =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
-# The default value is: YES.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: latex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked.
-#
-# Note that when not enabling USE_PDFLATEX the default is latex when enabling
-# USE_PDFLATEX the default is pdflatex and when in the later case latex is
-# chosen this is overwritten by pdflatex. For specific output languages the
-# default can have been set differently, this depends on the implementation of
-# the output language.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_CMD_NAME =
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
-# index for LaTeX.
-# Note: This tag is used in the Makefile / make.bat.
-# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
-# (.tex).
-# The default file is: makeindex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
-# generate index for LaTeX. In case there is no backslash (\) as first character
-# it will be automatically added in the LaTeX code.
-# Note: This tag is used in the generated output file (.tex).
-# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
-# The default value is: makeindex.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_MAKEINDEX_CMD = makeindex
-
-# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used by the
-# printer.
-# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
-# 14 inches) and executive (7.25 x 10.5 inches).
-# The default value is: a4.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PAPER_TYPE = a4
-
-# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
-# that should be included in the LaTeX output. The package can be specified just
-# by its name or with the correct syntax as to be used with the LaTeX
-# \usepackage command. To get the times font for instance you can specify :
-# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
-# To use the option intlimits with the amsmath package you can specify:
-# EXTRA_PACKAGES=[intlimits]{amsmath}
-# If left blank no extra packages will be included.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
-# generated LaTeX document. The header should contain everything until the first
-# chapter. If it is left blank doxygen will generate a standard header. See
-# section "Doxygen usage" for information on how to let doxygen write the
-# default header to a separate file.
-#
-# Note: Only use a user-defined header if you know what you are doing! The
-# following commands have a special meaning inside the header: $title,
-# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
-# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
-# string, for the replacement values of the other commands the user is referred
-# to HTML_HEADER.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HEADER =
-
-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
-# generated LaTeX document. The footer should contain everything after the last
-# chapter. If it is left blank doxygen will generate a standard footer. See
-# LATEX_HEADER for more information on how to generate a default footer and what
-# special commands can be used inside the footer.
-#
-# Note: Only use a user-defined footer if you know what you are doing!
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_FOOTER =
-
-# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
-# LaTeX style sheets that are included after the standard style sheets created
-# by doxygen. Using this option one can overrule certain style aspects. Doxygen
-# will copy the style sheet files to the output directory.
-# Note: The order of the extra style sheet files is of importance (e.g. the last
-# style sheet in the list overrules the setting of the previous ones in the
-# list).
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EXTRA_STYLESHEET =
-
-# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
-# other source files which should be copied to the LATEX_OUTPUT output
-# directory. Note that the files will be copied as-is; there are no commands or
-# markers available.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EXTRA_FILES =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
-# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
-# contain links (just like the HTML output) instead of page references. This
-# makes the output suitable for online browsing using a PDF viewer.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-PDF_HYPERLINKS = YES
-
-# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
-# the PDF file directly from the LaTeX files. Set this option to YES, to get a
-# higher quality PDF documentation.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-USE_PDFLATEX = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
-# command to the generated LaTeX files. This will instruct LaTeX to keep running
-# if errors occur, instead of asking the user for help. This option is also used
-# when generating formulas in HTML.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BATCHMODE = NO
-
-# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
-# index chapters (such as File Index, Compound Index, etc.) in the output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_HIDE_INDICES = NO
-
-# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
-# bibliography, e.g. plainnat, or ieeetr. See
-# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
-# The default value is: plain.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_BIB_STYLE = plain
-
-# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
-# page will contain the date and time when the page was generated. Setting this
-# to NO can help when comparing the output of multiple runs.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_TIMESTAMP = NO
-
-# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
-# path from which the emoji images will be read. If a relative path is entered,
-# it will be relative to the LATEX_OUTPUT directory. If left blank the
-# LATEX_OUTPUT directory will be used.
-# This tag requires that the tag GENERATE_LATEX is set to YES.
-
-LATEX_EMOJI_DIRECTORY =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
-# RTF output is optimized for Word 97 and may not look too pretty with other RTF
-# readers/editors.
-# The default value is: NO.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: rtf.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
-# documents. This may be useful for small projects and may help to save some
-# trees in general.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
-# contain hyperlink fields. The RTF file will contain links (just like the HTML
-# output) instead of page references. This makes the output suitable for online
-# browsing using Word or some other Word compatible readers that support those
-# fields.
-#
-# Note: WordPad (write) and others do not support links.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# configuration file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-#
-# See also section "Doxygen usage" for information on how to generate the
-# default style sheet that doxygen normally uses.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an RTF document. Syntax is
-# similar to doxygen's configuration file. A template extensions file can be
-# generated using doxygen -e rtf extensionFile.
-# This tag requires that the tag GENERATE_RTF is set to YES.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
-# classes and files.
-# The default value is: NO.
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it. A directory man3 will be created inside the directory specified by
-# MAN_OUTPUT.
-# The default directory is: man.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to the generated
-# man pages. In case the manual section does not start with a number, the number
-# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
-# optional.
-# The default value is: .3.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_EXTENSION = .3
-
-# The MAN_SUBDIR tag determines the name of the directory created within
-# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
-# MAN_EXTENSION with the initial . removed.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_SUBDIR =
-
-# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
-# will generate one additional man file for each entity documented in the real
-# man page(s). These additional files only source the real man page, but without
-# them the man command would be unable to find the correct page.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_MAN is set to YES.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
-# captures the structure of the code including all documentation.
-# The default value is: NO.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
-# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
-# it.
-# The default directory is: xml.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_OUTPUT = xml
-
-# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
-# listings (including syntax highlighting and cross-referencing information) to
-# the XML output. Note that enabling this will significantly increase the size
-# of the XML output.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_PROGRAMLISTING = YES
-
-# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
-# namespace members in file scope as well, matching the HTML output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_XML is set to YES.
-
-XML_NS_MEMB_FILE_SCOPE = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the DOCBOOK output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
-# that can be used to generate PDF.
-# The default value is: NO.
-
-GENERATE_DOCBOOK = NO
-
-# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
-# front of it.
-# The default directory is: docbook.
-# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
-
-DOCBOOK_OUTPUT = docbook
-
-#---------------------------------------------------------------------------
-# Configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
-# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
-# the structure of the code including all documentation. Note that this feature
-# is still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# Configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
-# file that captures the structure of the code including all documentation.
-#
-# Note that this feature is still experimental and incomplete at the moment.
-# The default value is: NO.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
-# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
-# output from the Perl module output.
-# The default value is: NO.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
-# formatted so it can be parsed by a human reader. This is useful if you want to
-# understand what is going on. On the other hand, if this tag is set to NO, the
-# size of the Perl module output will be much smaller and Perl will parse it
-# just the same.
-# The default value is: YES.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file are
-# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
-# so different doxyrules.make files included by the same Makefile don't
-# overwrite each other's variables.
-# This tag requires that the tag GENERATE_PERLMOD is set to YES.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
-# C-preprocessor directives found in the sources and include files.
-# The default value is: YES.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
-# in the source code. If set to NO, only conditional compilation will be
-# performed. Macro expansion can be done in a controlled way by setting
-# EXPAND_ONLY_PREDEF to YES.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-MACRO_EXPANSION = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
-# the macro expansion is limited to the macros specified with the PREDEFINED and
-# EXPAND_AS_DEFINED tags.
-# The default value is: NO.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_ONLY_PREDEF = YES
-
-# If the SEARCH_INCLUDES tag is set to YES, the include files in the
-# INCLUDE_PATH will be searched if a #include is found.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by the
-# preprocessor.
-# This tag requires that the tag SEARCH_INCLUDES is set to YES.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will be
-# used.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that are
-# defined before the preprocessor is started (similar to the -D option of e.g.
-# gcc). The argument of the tag is a list of macros of the form: name or
-# name=definition (no spaces). If the definition and the "=" are omitted, "=1"
-# is assumed. To prevent a macro definition from being undefined via #undef or
-# recursively expanded use the := operator instead of the = operator.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-PREDEFINED = GLFWAPI= \
- GLFW_EXPOSE_NATIVE_WIN32 \
- GLFW_EXPOSE_NATIVE_WGL \
- GLFW_EXPOSE_NATIVE_X11 \
- GLFW_EXPOSE_NATIVE_WAYLAND \
- GLFW_EXPOSE_NATIVE_GLX \
- GLFW_EXPOSE_NATIVE_COCOA \
- GLFW_EXPOSE_NATIVE_NSGL \
- GLFW_EXPOSE_NATIVE_EGL \
- GLFW_EXPOSE_NATIVE_OSMESA \
- VK_VERSION_1_0
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
-# tag can be used to specify a list of macro names that should be expanded. The
-# macro definition that is found in the sources will be used. Use the PREDEFINED
-# tag if you want to use a different macro definition that overrules the
-# definition found in the source code.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-EXPAND_AS_DEFINED =
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
-# remove all references to function-like macros that are alone on a line, have
-# an all uppercase name, and do not end with a semicolon. Such function macros
-# are typically used for boiler-plate code, and will confuse the parser if not
-# removed.
-# The default value is: YES.
-# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES tag can be used to specify one or more tag files. For each tag
-# file the location of the external documentation should be added. The format of
-# a tag file without this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where loc1 and loc2 can be relative or absolute paths or URLs. See the
-# section "Linking to external documentation" for more information about the use
-# of tag files.
-# Note: Each tag file must have a unique name (where the name does NOT include
-# the path). If a tag file is not located in the directory in which doxygen is
-# run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
-# tag file that is based on the input files it reads. See section "Linking to
-# external documentation" for more information about the usage of tag files.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
-# the class index. If set to NO, only the inherited external classes will be
-# listed.
-# The default value is: NO.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will be
-# listed.
-# The default value is: YES.
-
-EXTERNAL_GROUPS = YES
-
-# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
-# the related pages index. If set to NO, only the current project's pages will
-# be listed.
-# The default value is: YES.
-
-EXTERNAL_PAGES = YES
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# You can include diagrams made with dia in doxygen documentation. Doxygen will
-# then run dia to produce the diagram and insert it in the documentation. The
-# DIA_PATH tag allows you to specify the directory where the dia binary resides.
-# If left empty dia is assumed to be found in the default search path.
-
-DIA_PATH =
-
-# If set to YES the inheritance and collaboration graphs will hide inheritance
-# and usage relations if the target is undocumented or is not a class.
-# The default value is: YES.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz (see:
-# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
-# Bell Labs. The other options in this section have no effect if this option is
-# set to NO
-# The default value is: NO.
-
-HAVE_DOT = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
-# to run in parallel. When set to 0 doxygen will base this on the number of
-# processors available in the system. You can set it explicitly to a value
-# larger than 0 to get control over the balance between CPU load and processing
-# speed.
-# Minimum value: 0, maximum value: 32, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_NUM_THREADS = 0
-
-# When you want a differently looking font in the dot files that doxygen
-# generates you can specify the font name using DOT_FONTNAME. You need to make
-# sure dot is able to find the font, which can be done by putting it in a
-# standard location or by setting the DOTFONTPATH environment variable or by
-# setting DOT_FONTPATH to the directory containing the font.
-# The default value is: Helvetica.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTNAME = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
-# dot graphs.
-# Minimum value: 4, maximum value: 24, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTSIZE = 10
-
-# By default doxygen will tell dot to use the default font as specified with
-# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
-# the path where dot can find it using this tag.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_FONTPATH =
-
-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
-# each documented class showing the direct and indirect inheritance relations.
-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CLASS_GRAPH = YES
-
-# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
-# graph for each documented class showing the direct and indirect implementation
-# dependencies (inheritance, containment, and class references variables) of the
-# class with other documented classes.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-COLLABORATION_GRAPH = YES
-
-# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
-# groups, showing the direct groups dependencies.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GROUP_GRAPHS = YES
-
-# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LOOK = NO
-
-# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
-# class node. If there are many fields or methods and many nodes the graph may
-# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
-# number of items for each type to make the size more manageable. Set this to 0
-# for no limit. Note that the threshold may be exceeded by 50% before the limit
-# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
-# but if the number exceeds 15, the total amount of fields shown is limited to
-# 10.
-# Minimum value: 0, maximum value: 100, default value: 10.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-UML_LIMIT_NUM_FIELDS = 10
-
-# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
-# collaboration graphs will show the relations between templates and their
-# instances.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-TEMPLATE_RELATIONS = NO
-
-# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
-# YES then doxygen will generate a graph for each documented file showing the
-# direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDE_GRAPH = YES
-
-# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
-# set to YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other documented
-# files.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INCLUDED_BY_GRAPH = YES
-
-# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable call graphs for selected
-# functions only using the \callgraph command. Disabling a call graph can be
-# accomplished by means of the command \hidecallgraph.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALL_GRAPH = NO
-
-# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
-# dependency graph for every global function or class method.
-#
-# Note that enabling this option will significantly increase the time of a run.
-# So in most cases it will be better to enable caller graphs for selected
-# functions only using the \callergraph command. Disabling a caller graph can be
-# accomplished by means of the command \hidecallergraph.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-CALLER_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
-# hierarchy of all classes instead of a textual one.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GRAPHICAL_HIERARCHY = YES
-
-# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
-# dependencies a directory has on other directories in a graphical way. The
-# dependency relations are determined by the #include relations between the
-# files in the directories.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DIRECTORY_GRAPH = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. For an explanation of the image formats see the section
-# output formats in the documentation of the dot tool (Graphviz (see:
-# http://www.graphviz.org/)).
-# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
-# to make the SVG files visible in IE 9+ (other browsers do not have this
-# requirement).
-# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
-# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
-# png:gdiplus:gdiplus.
-# The default value is: png.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_IMAGE_FORMAT = png
-
-# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
-# enable generation of interactive SVG images that allow zooming and panning.
-#
-# Note that this requires a modern browser other than Internet Explorer. Tested
-# and working are Firefox, Chrome, Safari, and Opera.
-# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
-# the SVG files visible. Older versions of IE do not have SVG support.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-INTERACTIVE_SVG = NO
-
-# The DOT_PATH tag can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_PATH =
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the \dotfile
-# command).
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOTFILE_DIRS =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the \mscfile
-# command).
-
-MSCFILE_DIRS =
-
-# The DIAFILE_DIRS tag can be used to specify one or more directories that
-# contain dia files that are included in the documentation (see the \diafile
-# command).
-
-DIAFILE_DIRS =
-
-# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
-# path where java can find the plantuml.jar file. If left blank, it is assumed
-# PlantUML is not used or called during a preprocessing step. Doxygen will
-# generate a warning when it encounters a \startuml command in this case and
-# will not generate output for the diagram.
-
-PLANTUML_JAR_PATH =
-
-# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
-# configuration file for plantuml.
-
-PLANTUML_CFG_FILE =
-
-# When using plantuml, the specified paths are searched for files specified by
-# the !include statement in a plantuml block.
-
-PLANTUML_INCLUDE_PATH =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
-# that will be shown in the graph. If the number of nodes in a graph becomes
-# larger than this value, doxygen will truncate the graph, which is visualized
-# by representing a node as a red box. Note that doxygen if the number of direct
-# children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
-# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-# Minimum value: 0, maximum value: 10000, default value: 50.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_GRAPH_MAX_NODES = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
-# generated by dot. A depth value of 3 means that only nodes reachable from the
-# root by following a path via at most 3 edges will be shown. Nodes that lay
-# further from the root node will be omitted. Note that setting this option to 1
-# or 2 may greatly reduce the computation time needed for large code bases. Also
-# note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-# Minimum value: 0, maximum value: 1000, default value: 0.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not seem
-# to support this out of the box.
-#
-# Warning: Depending on the platform used, enabling this option may lead to
-# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
-# read).
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_TRANSPARENT = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10) support
-# this, this feature is disabled by default.
-# The default value is: NO.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_MULTI_TARGETS = NO
-
-# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
-# explaining the meaning of the various boxes and arrows in the dot generated
-# graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
-# files that are used to generate the various graphs.
-# The default value is: YES.
-# This tag requires that the tag HAVE_DOT is set to YES.
-
-DOT_CLEANUP = YES
diff --git a/3rdparty/glfw/source/docs/DoxygenLayout.xml b/3rdparty/glfw/source/docs/DoxygenLayout.xml
deleted file mode 100644
index ab97172..0000000
--- a/3rdparty/glfw/source/docs/DoxygenLayout.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<doxygenlayout version="1.0">
- <!-- Generated by doxygen 1.8.14 -->
- <!-- Navigation index tabs for HTML output -->
- <navindex>
- <tab type="mainpage" visible="yes" title="Introduction"/>
- <tab type="user" url="quick_guide.html" title="Tutorial"/>
- <tab type="pages" visible="yes" title="Guides" intro=""/>
- <tab type="modules" visible="yes" title="Reference" intro=""/>
- <tab type="filelist" visible="yes" title="Files"/>
- </navindex>
-
- <!-- Layout definition for a file page -->
- <file>
- <detaileddescription title="Description"/>
- <includes visible="$SHOW_INCLUDE_FILES"/>
- <sourcelink visible="yes"/>
- <memberdecl>
- <constantgroups visible="yes" title=""/>
- <defines title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <functions title=""/>
- <variables title=""/>
- <membergroups visible="yes"/>
- </memberdecl>
- <memberdef>
- <defines title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <functions title=""/>
- <variables title=""/>
- </memberdef>
- <authorsection/>
- </file>
-
- <!-- Layout definition for a group page -->
- <group>
- <detaileddescription title="Description"/>
- <memberdecl>
- <nestedgroups visible="yes" title=""/>
- <dirs visible="yes" title=""/>
- <files visible="yes" title=""/>
- <defines title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <enumvalues title=""/>
- <functions title=""/>
- <variables title=""/>
- </memberdecl>
- <memberdef>
- <pagedocs/>
- <defines title=""/>
- <typedefs title=""/>
- <enums title=""/>
- <enumvalues title=""/>
- <functions title=""/>
- <variables title=""/>
- </memberdef>
- <authorsection visible="yes"/>
- </group>
-
- <!-- Layout definition for a directory page -->
- <directory>
- <briefdescription visible="yes"/>
- <memberdecl>
- <dirs visible="yes"/>
- <files visible="yes"/>
- </memberdecl>
- <detaileddescription title=""/>
- </directory>
-</doxygenlayout>
diff --git a/3rdparty/glfw/source/docs/SUPPORT.md b/3rdparty/glfw/source/docs/SUPPORT.md
deleted file mode 100644
index 79a45a8..0000000
--- a/3rdparty/glfw/source/docs/SUPPORT.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# Support resources
-
-See the [latest documentation](https://www.glfw.org/docs/latest/) for tutorials,
-guides and the API reference.
-
-If you have questions about using GLFW, we have a
-[forum](https://discourse.glfw.org/), and the `#glfw` IRC channel on
-[Libera.Chat](https://libera.chat/).
-
-Bugs are reported to our [issue tracker](https://github.com/glfw/glfw/issues).
-Please check the [contribution
-guide](https://github.com/glfw/glfw/blob/master/docs/CONTRIBUTING.md) for
-information on what to include when reporting a bug.
-
diff --git a/3rdparty/glfw/source/docs/build.dox b/3rdparty/glfw/source/docs/build.dox
deleted file mode 100644
index aa06b0f..0000000
--- a/3rdparty/glfw/source/docs/build.dox
+++ /dev/null
@@ -1,338 +0,0 @@
-/*!
-
-@page build_guide Building applications
-
-@tableofcontents
-
-This is about compiling and linking applications that use GLFW. For information on
-how to write such applications, start with the
-[introductory tutorial](@ref quick_guide). For information on how to compile
-the GLFW library itself, see @ref compile_guide.
-
-This is not a tutorial on compilation or linking. It assumes basic
-understanding of how to compile and link a C program as well as how to use the
-specific compiler of your chosen development environment. The compilation
-and linking process should be explained in your C programming material and in
-the documentation for your development environment.
-
-
-@section build_include Including the GLFW header file
-
-You should include the GLFW header in the source files where you use OpenGL or
-GLFW.
-
-@code
-#include <GLFW/glfw3.h>
-@endcode
-
-This header defines all the constants and declares all the types and function
-prototypes of the GLFW API. By default it also includes the OpenGL header from
-your development environment. See [option macros](@ref build_macros) below for
-how to select OpenGL ES headers and more.
-
-The GLFW header also defines any platform-specific macros needed by your OpenGL
-header, so that it can be included without needing any window system headers.
-
-It does this only when needed, so if window system headers are included, the
-GLFW header does not try to redefine those symbols. The reverse is not true,
-i.e. `windows.h` cannot cope if any Win32 symbols have already been defined.
-
-In other words:
-
- - Use the GLFW header to include OpenGL or OpenGL ES headers portably
- - Do not include window system headers unless you will use those APIs directly
- - If you do need such headers, include them before the GLFW header
-
-If you are using an OpenGL extension loading library such as
-[glad](https://github.com/Dav1dde/glad), the extension loader header should
-be included before the GLFW one. GLFW attempts to detect any OpenGL or OpenGL
-ES header or extension loader header included before it and will then disable
-the inclusion of the default OpenGL header. Most extension loaders also define
-macros that disable similar headers below it.
-
-@code
-#include <glad/gl.h>
-#include <GLFW/glfw3.h>
-@endcode
-
-Both of these mechanisms depend on the extension loader header defining a known
-macro. If yours doesn't or you don't know which one your users will pick, the
-@ref GLFW_INCLUDE_NONE macro will explicitly to prevent the GLFW header from
-including the OpenGL header. This will also allow you to include the two
-headers in any order.
-
-@code
-#define GLFW_INCLUDE_NONE
-#include <GLFW/glfw3.h>
-#include <glad/gl.h>
-@endcode
-
-
-@subsection build_macros GLFW header option macros
-
-These macros may be defined before the inclusion of the GLFW header and affect
-its behavior.
-
-@anchor GLFW_DLL
-__GLFW_DLL__ is required on Windows when using the GLFW DLL, to tell the
-compiler that the GLFW functions are defined in a DLL.
-
-The following macros control which OpenGL or OpenGL ES API header is included.
-Only one of these may be defined at a time.
-
-@note GLFW does not provide any of the API headers mentioned below. They are
-provided by your development environment or your OpenGL, OpenGL ES or Vulkan
-SDK, and most of them can be downloaded from the
-[Khronos Registry](https://www.khronos.org/registry/).
-
-@anchor GLFW_INCLUDE_GLCOREARB
-__GLFW_INCLUDE_GLCOREARB__ makes the GLFW header include the modern
-`GL/glcorearb.h` header (`OpenGL/gl3.h` on macOS) instead of the regular OpenGL
-header.
-
-@anchor GLFW_INCLUDE_ES1
-__GLFW_INCLUDE_ES1__ makes the GLFW header include the OpenGL ES 1.x `GLES/gl.h`
-header instead of the regular OpenGL header.
-
-@anchor GLFW_INCLUDE_ES2
-__GLFW_INCLUDE_ES2__ makes the GLFW header include the OpenGL ES 2.0
-`GLES2/gl2.h` header instead of the regular OpenGL header.
-
-@anchor GLFW_INCLUDE_ES3
-__GLFW_INCLUDE_ES3__ makes the GLFW header include the OpenGL ES 3.0
-`GLES3/gl3.h` header instead of the regular OpenGL header.
-
-@anchor GLFW_INCLUDE_ES31
-__GLFW_INCLUDE_ES31__ makes the GLFW header include the OpenGL ES 3.1
-`GLES3/gl31.h` header instead of the regular OpenGL header.
-
-@anchor GLFW_INCLUDE_ES32
-__GLFW_INCLUDE_ES32__ makes the GLFW header include the OpenGL ES 3.2
-`GLES3/gl32.h` header instead of the regular OpenGL header.
-
-@anchor GLFW_INCLUDE_NONE
-__GLFW_INCLUDE_NONE__ makes the GLFW header not include any OpenGL or OpenGL ES
-API header. This is useful in combination with an extension loading library.
-
-If none of the above inclusion macros are defined, the standard OpenGL `GL/gl.h`
-header (`OpenGL/gl.h` on macOS) is included, unless GLFW detects the inclusion
-guards of any OpenGL, OpenGL ES or extension loader header it knows about.
-
-The following macros control the inclusion of additional API headers. Any
-number of these may be defined simultaneously, and/or together with one of the
-above macros.
-
-@anchor GLFW_INCLUDE_VULKAN
-__GLFW_INCLUDE_VULKAN__ makes the GLFW header include the Vulkan
-`vulkan/vulkan.h` header in addition to any selected OpenGL or OpenGL ES header.
-
-@anchor GLFW_INCLUDE_GLEXT
-__GLFW_INCLUDE_GLEXT__ makes the GLFW header include the appropriate extension
-header for the OpenGL or OpenGL ES header selected above after and in addition
-to that header.
-
-@anchor GLFW_INCLUDE_GLU
-__GLFW_INCLUDE_GLU__ makes the header include the GLU header in addition to the
-header selected above. This should only be used with the standard OpenGL header
-and only for compatibility with legacy code. GLU has been deprecated and should
-not be used in new code.
-
-@note None of these macros may be defined during the compilation of GLFW itself.
-If your build includes GLFW and you define any these in your build files, make
-sure they are not applied to the GLFW sources.
-
-
-@section build_link Link with the right libraries
-
-GLFW is essentially a wrapper of various platform-specific APIs and therefore
-needs to link against many different system libraries. If you are using GLFW as
-a shared library / dynamic library / DLL then it takes care of these links.
-However, if you are using GLFW as a static library then your executable will
-need to link against these libraries.
-
-On Windows and macOS, the list of system libraries is static and can be
-hard-coded into your build environment. See the section for your development
-environment below. On Linux and other Unix-like operating systems, the list
-varies but can be retrieved in various ways as described below.
-
-A good general introduction to linking is
-[Beginner's Guide to Linkers](https://www.lurklurk.org/linkers/linkers.html) by
-David Drysdale.
-
-
-@subsection build_link_win32 With MinGW or Visual C++ on Windows
-
-The static version of the GLFW library is named `glfw3`. When using this
-version, it is also necessary to link with some libraries that GLFW uses.
-
-When using MinGW to link an application with the static version of GLFW, you
-must also explicitly link with `gdi32`. Other toolchains including MinGW-w64
-include it in the set of default libraries along with other dependencies like
-`user32` and `kernel32`.
-
-The link library for the GLFW DLL is named `glfw3dll`. When compiling an
-application that uses the DLL version of GLFW, you need to define the @ref
-GLFW_DLL macro _before_ any inclusion of the GLFW header. This can be done
-either with a compiler switch or by defining it in your source code.
-
-
-@subsection build_link_cmake_source With CMake and GLFW source
-
-This section is about using CMake to compile and link GLFW along with your
-application. If you want to use an installed binary instead, see @ref
-build_link_cmake_package.
-
-With a few changes to your `CMakeLists.txt` you can have the GLFW source tree
-built along with your application.
-
-Add the root directory of the GLFW source tree to your project. This will add
-the `glfw` target to your project.
-
-@code{.cmake}
-add_subdirectory(path/to/glfw)
-@endcode
-
-Once GLFW has been added, link your application against the `glfw` target.
-This adds the GLFW library and its link-time dependencies as it is currently
-configured, the include directory for the GLFW header and, when applicable, the
-@ref GLFW_DLL macro.
-
-@code{.cmake}
-target_link_libraries(myapp glfw)
-@endcode
-
-Note that the `glfw` target does not depend on OpenGL, as GLFW loads any OpenGL,
-OpenGL ES or Vulkan libraries it needs at runtime. If your application calls
-OpenGL directly, instead of using a modern
-[extension loader library](@ref context_glext_auto), use the OpenGL CMake
-package.
-
-@code{.cmake}
-find_package(OpenGL REQUIRED)
-@endcode
-
-If OpenGL is found, the `OpenGL::GL` target is added to your project, containing
-library and include directory paths. Link against this like any other library.
-
-@code{.cmake}
-target_link_libraries(myapp OpenGL::GL)
-@endcode
-
-For a minimal example of a program and GLFW sources built with CMake, see the
-[GLFW CMake Starter](https://github.com/juliettef/GLFW-CMake-starter) on GitHub.
-
-
-@subsection build_link_cmake_package With CMake and installed GLFW binaries
-
-This section is about using CMake to link GLFW after it has been built and
-installed. If you want to build it along with your application instead, see
-@ref build_link_cmake_source.
-
-With a few changes to your `CMakeLists.txt` you can locate the package and
-target files generated when GLFW is installed.
-
-@code{.cmake}
-find_package(glfw3 3.4 REQUIRED)
-@endcode
-
-Once GLFW has been added to the project, link against it with the `glfw` target.
-This adds the GLFW library and its link-time dependencies, the include directory
-for the GLFW header and, when applicable, the @ref GLFW_DLL macro.
-
-@code{.cmake}
-target_link_libraries(myapp glfw)
-@endcode
-
-Note that the `glfw` target does not depend on OpenGL, as GLFW loads any OpenGL,
-OpenGL ES or Vulkan libraries it needs at runtime. If your application calls
-OpenGL directly, instead of using a modern
-[extension loader library](@ref context_glext_auto), use the OpenGL CMake
-package.
-
-@code{.cmake}
-find_package(OpenGL REQUIRED)
-@endcode
-
-If OpenGL is found, the `OpenGL::GL` target is added to your project, containing
-library and include directory paths. Link against this like any other library.
-
-@code{.cmake}
-target_link_libraries(myapp OpenGL::GL)
-@endcode
-
-
-@subsection build_link_pkgconfig With makefiles and pkg-config on Unix
-
-GLFW supports [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/),
-and the `glfw3.pc` pkg-config file is generated when the GLFW library is built
-and is installed along with it. A pkg-config file describes all necessary
-compile-time and link-time flags and dependencies needed to use a library. When
-they are updated or if they differ between systems, you will get the correct
-ones automatically.
-
-A typical compile and link command-line when using the static version of the
-GLFW library may look like this:
-
-@code{.sh}
-cc $(pkg-config --cflags glfw3) -o myprog myprog.c $(pkg-config --static --libs glfw3)
-@endcode
-
-If you are using the shared version of the GLFW library, omit the `--static`
-flag.
-
-@code{.sh}
-cc $(pkg-config --cflags glfw3) -o myprog myprog.c $(pkg-config --libs glfw3)
-@endcode
-
-You can also use the `glfw3.pc` file without installing it first, by using the
-`PKG_CONFIG_PATH` environment variable.
-
-@code{.sh}
-env PKG_CONFIG_PATH=path/to/glfw/src cc $(pkg-config --cflags glfw3) -o myprog myprog.c $(pkg-config --libs glfw3)
-@endcode
-
-The dependencies do not include OpenGL, as GLFW loads any OpenGL, OpenGL ES or
-Vulkan libraries it needs at runtime. If your application calls OpenGL
-directly, instead of using a modern
-[extension loader library](@ref context_glext_auto), you should add the `gl`
-pkg-config package.
-
-@code{.sh}
-cc $(pkg-config --cflags glfw3 gl) -o myprog myprog.c $(pkg-config --libs glfw3 gl)
-@endcode
-
-
-@subsection build_link_xcode With Xcode on macOS
-
-If you are using the dynamic library version of GLFW, add it to the project
-dependencies.
-
-If you are using the static library version of GLFW, add it and the Cocoa,
-OpenGL and IOKit frameworks to the project as dependencies. They can all be
-found in `/System/Library/Frameworks`.
-
-
-@subsection build_link_osx With command-line on macOS
-
-It is recommended that you use [pkg-config](@ref build_link_pkgconfig) when
-building from the command line on macOS. That way you will get any new
-dependencies added automatically. If you still wish to build manually, you need
-to add the required frameworks and libraries to your command-line yourself using
-the `-l` and `-framework` switches.
-
-If you are using the dynamic GLFW library, which is named `libglfw.3.dylib`, do:
-
-@code{.sh}
-cc -o myprog myprog.c -lglfw -framework Cocoa -framework OpenGL -framework IOKit
-@endcode
-
-If you are using the static library, named `libglfw3.a`, substitute `-lglfw3`
-for `-lglfw`.
-
-Note that you do not add the `.framework` extension to a framework when linking
-against it from the command-line.
-
-@note Your machine may have `libGL.*.dylib` style OpenGL library, but that is
-for the X Window System and will not work with the macOS native version of GLFW.
-
-*/
diff --git a/3rdparty/glfw/source/docs/compat.dox b/3rdparty/glfw/source/docs/compat.dox
deleted file mode 100644
index 989c4c1..0000000
--- a/3rdparty/glfw/source/docs/compat.dox
+++ /dev/null
@@ -1,284 +0,0 @@
-/*!
-
-@page compat_guide Standards conformance
-
-@tableofcontents
-
-This guide describes the various API extensions used by this version of GLFW.
-It lists what are essentially implementation details, but which are nonetheless
-vital knowledge for developers intending to deploy their applications on a wide
-range of machines.
-
-The information in this guide is not a part of GLFW API, but merely
-preconditions for some parts of the library to function on a given machine. Any
-part of this information may change in future versions of GLFW and that will not
-be considered a breaking API change.
-
-
-@section compat_x11 X11 extensions, protocols and IPC standards
-
-As GLFW uses Xlib directly, without any intervening toolkit
-library, it has sole responsibility for interacting well with the many and
-varied window managers in use on Unix-like systems. In order for applications
-and window managers to work well together, a number of standards and
-conventions have been developed that regulate behavior outside the scope of the
-X11 API; most importantly the
-[Inter-Client Communication Conventions Manual](https://www.tronche.com/gui/x/icccm/)
-(ICCCM) and
-[Extended Window Manager Hints](https://standards.freedesktop.org/wm-spec/wm-spec-latest.html)
-(EWMH) standards.
-
-GLFW uses the `_MOTIF_WM_HINTS` window property to support borderless windows.
-If the running window manager does not support this property, the
-`GLFW_DECORATED` hint will have no effect.
-
-GLFW uses the ICCCM `WM_DELETE_WINDOW` protocol to intercept the user
-attempting to close the GLFW window. If the running window manager does not
-support this protocol, the close callback will never be called.
-
-GLFW uses the EWMH `_NET_WM_PING` protocol, allowing the window manager notify
-the user when the application has stopped responding, i.e. when it has ceased to
-process events. If the running window manager does not support this protocol,
-the user will not be notified if the application locks up.
-
-GLFW uses the EWMH `_NET_WM_STATE_FULLSCREEN` window state to tell the window
-manager to make the GLFW window full screen. If the running window manager does
-not support this state, full screen windows may not work properly. GLFW has
-a fallback code path in case this state is unavailable, but every window manager
-behaves slightly differently in this regard.
-
-GLFW uses the EWMH `_NET_WM_BYPASS_COMPOSITOR` window property to tell a
-compositing window manager to un-redirect full screen GLFW windows. If the
-running window manager uses compositing but does not support this property then
-additional copying may be performed for each buffer swap of full screen windows.
-
-GLFW uses the
-[clipboard manager protocol](https://www.freedesktop.org/wiki/ClipboardManager/)
-to push a clipboard string (i.e. selection) owned by a GLFW window about to be
-destroyed to the clipboard manager. If there is no running clipboard manager,
-the clipboard string will be unavailable once the window has been destroyed.
-
-GLFW uses the
-[X drag-and-drop protocol](https://www.freedesktop.org/wiki/Specifications/XDND/)
-to provide file drop events. If the application originating the drag does not
-support this protocol, drag and drop will not work.
-
-GLFW uses the XRandR 1.3 extension to provide multi-monitor support. If the
-running X server does not support this version of this extension, multi-monitor
-support will not function and only a single, desktop-spanning monitor will be
-reported.
-
-GLFW uses the XRandR 1.3 and Xf86vidmode extensions to provide gamma ramp
-support. If the running X server does not support either or both of these
-extensions, gamma ramp support will not function.
-
-GLFW uses the Xkb extension and detectable auto-repeat to provide keyboard
-input. If the running X server does not support this extension, a non-Xkb
-fallback path is used.
-
-GLFW uses the XInput2 extension to provide raw, non-accelerated mouse motion
-when the cursor is disabled. If the running X server does not support this
-extension, regular accelerated mouse motion will be used.
-
-GLFW uses both the XRender extension and the compositing manager to support
-transparent window framebuffers. If the running X server does not support this
-extension or there is no running compositing manager, the
-`GLFW_TRANSPARENT_FRAMEBUFFER` framebuffer hint will have no effect.
-
-GLFW uses both the Xcursor extension and the freedesktop cursor conventions to
-provide an expanded set of standard cursor shapes. If the running X server does
-not support this extension or the current cursor theme does not support the
-conventions, the `GLFW_RESIZE_NWSE_CURSOR`, `GLFW_RESIZE_NESW_CURSOR` and
-`GLFW_NOT_ALLOWED_CURSOR` shapes will not be available and other shapes may use
-legacy images.
-
-
-@section compat_wayland Wayland protocols and IPC standards
-
-As GLFW uses libwayland directly, without any intervening toolkit library, it
-has sole responsibility for interacting well with every compositor in use on
-Unix-like systems. Most of the features are provided by the core protocol,
-while cursor support is provided by the libwayland-cursor helper library, EGL
-integration by libwayland-egl, and keyboard handling by
-[libxkbcommon](https://xkbcommon.org/). In addition, GLFW uses some protocols
-from wayland-protocols to provide additional features if the compositor
-supports them.
-
-GLFW uses xkbcommon 0.5.0 to provide key and text input support. Earlier
-versions are not supported.
-
-GLFW uses the [xdg-shell
-protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/xdg-shell/xdg-shell.xml)
-to provide better window management. This protocol is part of
-wayland-protocols 1.12, and is mandatory for GLFW to display a window.
-
-GLFW uses the [relative pointer
-protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/relative-pointer/relative-pointer-unstable-v1.xml)
-alongside the [pointer constraints
-protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/pointer-constraints/pointer-constraints-unstable-v1.xml)
-to implement disabled cursor. These two protocols are part of
-wayland-protocols 1.1, and mandatory at build time. If the running compositor
-does not support both of these protocols, disabling the cursor will have no
-effect.
-
-GLFW uses the [idle inhibit
-protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml)
-to prohibit the screensaver from starting. This protocol is part of
-wayland-protocols 1.6, and mandatory at build time. If the running compositor
-does not support this protocol, the screensaver may start even for full screen
-windows.
-
-GLFW uses the [xdg-decoration
-protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/unstable/xdg-decoration/xdg-decoration-unstable-v1.xml)
-to request decorations to be drawn around its windows. This protocol is part
-of wayland-protocols 1.15, and mandatory at build time. If the running
-compositor does not support this protocol, a very simple frame will be drawn by
-GLFW itself, using the [viewporter
-protocol](https://cgit.freedesktop.org/wayland/wayland-protocols/tree/stable/viewporter/viewporter.xml)
-alongside
-[subsurfaces](https://cgit.freedesktop.org/wayland/wayland/tree/protocol/wayland.xml#n2598).
-This protocol is part of wayland-protocols 1.4, and mandatory at build time.
-If the running compositor does not support this protocol either, no decorations
-will be drawn around windows.
-
-
-@section compat_glx GLX extensions
-
-The GLX API is the default API used to create OpenGL contexts on Unix-like
-systems using the X Window System.
-
-GLFW uses the GLX 1.3 `GLXFBConfig` functions to enumerate and select framebuffer pixel
-formats. If GLX 1.3 is not supported, @ref glfwInit will fail.
-
-GLFW uses the `GLX_MESA_swap_control,` `GLX_EXT_swap_control` and
-`GLX_SGI_swap_control` extensions to provide vertical retrace synchronization
-(or _vsync_), in that order of preference. Where none of these extension are
-available, calling @ref glfwSwapInterval will have no effect.
-
-GLFW uses the `GLX_ARB_multisample` extension to create contexts with
-multisampling anti-aliasing. Where this extension is unavailable, the
-`GLFW_SAMPLES` hint will have no effect.
-
-GLFW uses the `GLX_ARB_create_context` extension when available, even when
-creating OpenGL contexts of version 2.1 and below. Where this extension is
-unavailable, the `GLFW_CONTEXT_VERSION_MAJOR` and `GLFW_CONTEXT_VERSION_MINOR`
-hints will only be partially supported, the `GLFW_CONTEXT_DEBUG` hint will have
-no effect, and setting the `GLFW_OPENGL_PROFILE` or `GLFW_OPENGL_FORWARD_COMPAT`
-hints to `GLFW_TRUE` will cause @ref glfwCreateWindow to fail.
-
-GLFW uses the `GLX_ARB_create_context_profile` extension to provide support for
-context profiles. Where this extension is unavailable, setting the
-`GLFW_OPENGL_PROFILE` hint to anything but `GLFW_OPENGL_ANY_PROFILE`, or setting
-`GLFW_CLIENT_API` to anything but `GLFW_OPENGL_API` or `GLFW_NO_API` will cause
-@ref glfwCreateWindow to fail.
-
-GLFW uses the `GLX_ARB_context_flush_control` extension to provide control over
-whether a context is flushed when it is released (made non-current). Where this
-extension is unavailable, the `GLFW_CONTEXT_RELEASE_BEHAVIOR` hint will have no
-effect and the context will always be flushed when released.
-
-GLFW uses the `GLX_ARB_framebuffer_sRGB` and `GLX_EXT_framebuffer_sRGB`
-extensions to provide support for sRGB framebuffers. Where both of these
-extensions are unavailable, the `GLFW_SRGB_CAPABLE` hint will have no effect.
-
-
-@section compat_wgl WGL extensions
-
-The WGL API is used to create OpenGL contexts on Microsoft Windows and other
-implementations of the Win32 API, such as Wine.
-
-GLFW uses either the `WGL_EXT_extension_string` or the
-`WGL_ARB_extension_string` extension to check for the presence of all other WGL
-extensions listed below. If both are available, the EXT one is preferred. If
-neither is available, no other extensions are used and many GLFW features
-related to context creation will have no effect or cause errors when used.
-
-GLFW uses the `WGL_EXT_swap_control` extension to provide vertical retrace
-synchronization (or _vsync_). Where this extension is unavailable, calling @ref
-glfwSwapInterval will have no effect.
-
-GLFW uses the `WGL_ARB_pixel_format` and `WGL_ARB_multisample` extensions to
-create contexts with multisampling anti-aliasing. Where these extensions are
-unavailable, the `GLFW_SAMPLES` hint will have no effect.
-
-GLFW uses the `WGL_ARB_create_context` extension when available, even when
-creating OpenGL contexts of version 2.1 and below. Where this extension is
-unavailable, the `GLFW_CONTEXT_VERSION_MAJOR` and `GLFW_CONTEXT_VERSION_MINOR`
-hints will only be partially supported, the `GLFW_CONTEXT_DEBUG` hint will have
-no effect, and setting the `GLFW_OPENGL_PROFILE` or `GLFW_OPENGL_FORWARD_COMPAT`
-hints to `GLFW_TRUE` will cause @ref glfwCreateWindow to fail.
-
-GLFW uses the `WGL_ARB_create_context_profile` extension to provide support for
-context profiles. Where this extension is unavailable, setting the
-`GLFW_OPENGL_PROFILE` hint to anything but `GLFW_OPENGL_ANY_PROFILE` will cause
-@ref glfwCreateWindow to fail.
-
-GLFW uses the `WGL_ARB_context_flush_control` extension to provide control over
-whether a context is flushed when it is released (made non-current). Where this
-extension is unavailable, the `GLFW_CONTEXT_RELEASE_BEHAVIOR` hint will have no
-effect and the context will always be flushed when released.
-
-GLFW uses the `WGL_ARB_framebuffer_sRGB` and `WGL_EXT_framebuffer_sRGB`
-extensions to provide support for sRGB framebuffers. Where both of these
-extension are unavailable, the `GLFW_SRGB_CAPABLE` hint will have no effect.
-
-
-@section compat_osx OpenGL on macOS
-
-Support for OpenGL 3.2 and above was introduced with OS X 10.7 and even then
-only forward-compatible, core profile contexts are supported. Support for
-OpenGL 4.1 was introduced with OS X 10.9, also limited to forward-compatible,
-core profile contexts. There is also still no mechanism for requesting debug
-contexts or no-error contexts. Versions of Mac OS X earlier than 10.7 support
-at most OpenGL version 2.1.
-
-Because of this, on OS X 10.7 and later, the `GLFW_CONTEXT_VERSION_MAJOR` and
-`GLFW_CONTEXT_VERSION_MINOR` hints will cause @ref glfwCreateWindow to fail if
-given version 3.0 or 3.1. The `GLFW_OPENGL_PROFILE` hint must be set to
-`GLFW_OPENGL_CORE_PROFILE` when creating OpenGL 3.2 and later contexts. The
-`GLFW_CONTEXT_DEBUG` and `GLFW_CONTEXT_NO_ERROR` hints are ignored.
-
-Also, on Mac OS X 10.6 and below, the `GLFW_CONTEXT_VERSION_MAJOR` and
-`GLFW_CONTEXT_VERSION_MINOR` hints will fail if given a version above 2.1,
-setting the `GLFW_OPENGL_PROFILE` or `GLFW_OPENGL_FORWARD_COMPAT` hints to
-a non-default value will cause @ref glfwCreateWindow to fail and the
-`GLFW_CONTEXT_DEBUG` hint is ignored.
-
-
-@section compat_vulkan Vulkan loader and API
-
-By default, GLFW uses the standard system-wide Vulkan loader to access the
-Vulkan API on all platforms except macOS. This is installed by both graphics
-drivers and Vulkan SDKs. If either the loader or at least one minimally
-functional ICD is missing, @ref glfwVulkanSupported will return `GLFW_FALSE` and
-all other Vulkan-related functions will fail with an @ref GLFW_API_UNAVAILABLE
-error.
-
-
-@section compat_wsi Vulkan WSI extensions
-
-The Vulkan WSI extensions are used to create Vulkan surfaces for GLFW windows on
-all supported platforms.
-
-GLFW uses the `VK_KHR_surface` and `VK_KHR_win32_surface` extensions to create
-surfaces on Microsoft Windows. If any of these extensions are not available,
-@ref glfwGetRequiredInstanceExtensions will return an empty list and window
-surface creation will fail.
-
-GLFW uses the `VK_KHR_surface` and either the `VK_MVK_macos_surface` or
-`VK_EXT_metal_surface` extensions to create surfaces on macOS. If any of these
-extensions are not available, @ref glfwGetRequiredInstanceExtensions will
-return an empty list and window surface creation will fail.
-
-GLFW uses the `VK_KHR_surface` and either the `VK_KHR_xlib_surface` or
-`VK_KHR_xcb_surface` extensions to create surfaces on X11. If `VK_KHR_surface`
-or both `VK_KHR_xlib_surface` and `VK_KHR_xcb_surface` are not available, @ref
-glfwGetRequiredInstanceExtensions will return an empty list and window surface
-creation will fail.
-
-GLFW uses the `VK_KHR_surface` and `VK_KHR_wayland_surface` extensions to create
-surfaces on Wayland. If any of these extensions are not available, @ref
-glfwGetRequiredInstanceExtensions will return an empty list and window surface
-creation will fail.
-
-*/
diff --git a/3rdparty/glfw/source/docs/compile.dox b/3rdparty/glfw/source/docs/compile.dox
deleted file mode 100644
index 925ab1a..0000000
--- a/3rdparty/glfw/source/docs/compile.dox
+++ /dev/null
@@ -1,394 +0,0 @@
-/*!
-
-@page compile_guide Compiling GLFW
-
-@tableofcontents
-
-This is about compiling the GLFW library itself. For information on how to
-build applications that use GLFW, see @ref build_guide.
-
-
-@section compile_cmake Using CMake
-
-GLFW behaves like most other libraries that use CMake so this guide mostly
-describes the standard configure, generate and compile sequence. If you are already
-familiar with this from other projects, you may want to focus on the @ref
-compile_deps and @ref compile_options sections for GLFW-specific information.
-
-GLFW uses [CMake](https://cmake.org/) to generate project files or makefiles
-for your chosen development environment. To compile GLFW, first generate these
-files with CMake and then use them to compile the GLFW library.
-
-If you are on Windows and macOS you can
-[download CMake](https://cmake.org/download/) from their site.
-
-If you are on a Unix-like system such as Linux, FreeBSD or Cygwin or have
-a package system like Fink, MacPorts or Homebrew, you can install its CMake
-package.
-
-CMake is a complex tool and this guide will only show a few of the possible ways
-to set up and compile GLFW. The CMake project has their own much more detailed
-[CMake user guide](https://cmake.org/cmake/help/latest/guide/user-interaction/)
-that includes everything in this guide not specific to GLFW. It may be a useful
-companion to this one.
-
-
-@subsection compile_deps Installing dependencies
-
-The C/C++ development environments in Visual Studio, Xcode and MinGW come with
-all necessary dependencies for compiling GLFW, but on Unix-like systems like
-Linux and FreeBSD you will need a few extra packages.
-
-
-@subsubsection compile_deps_x11 Dependencies for X11
-
-To compile GLFW for X11, you need to have the X11 development packages
-installed. They are not needed to build or run programs that use GLFW.
-
-On Debian and derivates like Ubuntu and Linux Mint the `xorg-dev` meta-package
-pulls in the development packages for all of X11.
-
-@code{.sh}
-sudo apt install xorg-dev
-@endcode
-
-On Fedora and derivatives like Red Hat the X11 extension packages
-`libXcursor-devel`, `libXi-devel`, `libXinerama-devel` and `libXrandr-devel`
-required by GLFW pull in all its other dependencies.
-
-@code{.sh}
-sudo dnf install libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel
-@endcode
-
-On FreeBSD the X11 headers are installed along the end-user X11 packages, so if
-you have an X server running you should have the headers as well. If not,
-install the `xorgproto` package.
-
-@code{.sh}
-pkg install xorgproto
-@endcode
-
-On Cygwin the `libXcursor-devel`, `libXi-devel`, `libXinerama-devel`,
-`libXrandr-devel` and `libXrender-devel` packages in the Libs section of the GUI
-installer will install all the headers and other development related files GLFW
-requires for X11.
-
-Once you have the required dependencies, move on to @ref compile_generate.
-
-
-@subsubsection compile_deps_wayland Dependencies for Wayland and X11
-
-To compile GLFW for both Wayland and X11, you need to have the X11, Wayland and xkbcommon
-development packages installed. They are not needed to build or run programs that use
-GLFW. You will also need to set the @ref GLFW_BUILD_WAYLAND CMake option in the next
-step when generating build files.
-
-On Debian and derivates like Ubuntu and Linux Mint you will need the `libwayland-dev`,
-`libxkbcommon-dev` and `wayland-protocols` packages and the `xorg-dev` meta-package.
-These will pull in all other dependencies.
-
-@code{.sh}
-sudo apt install libwayland-dev libxkbcommon-dev wayland-protocols xorg-dev
-@endcode
-
-On Fedora and derivatives like Red Hat you will need the `wayland-devel`,
-`libxkbcommon-devel`, `wayland-protocols-devel`, `libXcursor-devel`, `libXi-devel`,
-`libXinerama-devel` and `libXrandr-devel` packages. These will pull in all other
-dependencies.
-
-@code{.sh}
-sudo dnf install wayland-devel libxkbcommon-devel wayland-protocols-devel libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel
-@endcode
-
-On FreeBSD you will need the `wayland`, `libxkbcommon` and `wayland-protocols` packages.
-The X11 headers are installed along the end-user X11 packages, so if you have an X server
-running you should have the headers as well. If not, install the `xorgproto` package.
-
-@code{.sh}
-pkg install wayland libxkbcommon wayland-protocols xorgproto
-@endcode
-
-Once you have the required dependencies, move on to @ref compile_generate.
-
-
-@subsection compile_generate Generating build files with CMake
-
-Once you have all necessary dependencies it is time to generate the project
-files or makefiles for your development environment. CMake needs two paths for
-this:
-
- - the path to the root directory of the GLFW source tree (not its `src`
- subdirectory)
- - the path to the directory where the generated build files and compiled
- binaries will be placed
-
-If these are the same, it is called an in-tree build, otherwise it is called an
-out-of-tree build.
-
-Out-of-tree builds are recommended as they avoid cluttering up the source tree.
-They also allow you to have several build directories for different
-configurations all using the same source tree.
-
-A common pattern when building a single configuration is to have a build
-directory named `build` in the root of the source tree.
-
-
-@subsubsection compile_generate_gui Generating with the CMake GUI
-
-Start the CMake GUI and set the paths to the source and build directories
-described above. Then press _Configure_ and _Generate_.
-
-If you wish change any CMake variables in the list, press _Configure_ and then
-_Generate_ to have the new values take effect. The variable list will be
-populated after the first configure step.
-
-By default GLFW will use X11 on Linux and other Unix-like systems other than macOS. To
-include support for Wayland as well, set the @ref GLFW_BUILD_WAYLAND option in the GLFW
-section of the variable list, then apply the new value as described above.
-
-Once you have generated the project files or makefiles for your chosen
-development environment, move on to @ref compile_compile.
-
-
-@subsubsection compile_generate_cli Generating with command-line CMake
-
-To make a build directory, pass the source and build directories to the `cmake`
-command. These can be relative or absolute paths. The build directory is
-created if it doesn't already exist.
-
-@code{.sh}
-cmake -S path/to/glfw -B path/to/build
-@endcode
-
-It is common to name the build directory `build` and place it in the root of the
-source tree when only planning to build a single configuration.
-
-@code{.sh}
-cd path/to/glfw
-cmake -S . -B build
-@endcode
-
-Without other flags these will generate Visual Studio project files on Windows
-and makefiles on other platforms. You can choose other targets using the `-G`
-flag.
-
-@code{.sh}
-cmake -S path/to/glfw -B path/to/build -G Xcode
-@endcode
-
-By default GLFW will use X11 on Linux and other Unix-like systems other
-than macOS. To also include support for Wayland, set the @ref GLFW_BUILD_WAYLAND CMake
-option.
-
-@code{.sh}
-cmake -S path/to/glfw -B path/to/build -D GLFW_BUILD_WAYLAND=1
-@endcode
-
-Once you have generated the project files or makefiles for your chosen
-development environment, move on to @ref compile_compile.
-
-
-@subsection compile_compile Compiling the library
-
-You should now have all required dependencies and the project files or makefiles
-necessary to compile GLFW. Go ahead and compile the actual GLFW library with
-these files as you would with any other project.
-
-With Visual Studio open `GLFW.sln` and use the Build menu. With Xcode open
-`GLFW.xcodeproj` and use the Project menu.
-
-With Linux, macOS and other forms of Unix, run `make`.
-
-@code{.sh}
-cd path/to/build
-make
-@endcode
-
-With MinGW, it is `mingw32-make`.
-
-@code{.sh}
-cd path/to/build
-mingw32-make
-@endcode
-
-Any CMake build directory can also be built with the `cmake` command and the
-`--build` flag.
-
-@code{.sh}
-cmake --build path/to/build
-@endcode
-
-This will run the platform specific build tool the directory was generated for.
-
-Once the GLFW library is compiled you are ready to build your application,
-linking it to the GLFW library. See @ref build_guide for more information.
-
-
-@section compile_options CMake options
-
-The CMake files for GLFW provide a number of options, although not all are
-available on all supported platforms. Some of these are de facto standards
-among projects using CMake and so have no `GLFW_` prefix.
-
-If you are using the GUI version of CMake, these are listed and can be changed
-from there. If you are using the command-line version of CMake you can use the
-`ccmake` ncurses GUI to set options. Some package systems like Ubuntu and other
-distributions based on Debian GNU/Linux have this tool in a separate
-`cmake-curses-gui` package.
-
-Finally, if you don't want to use any GUI, you can set options from the `cmake`
-command-line with the `-D` flag.
-
-@code{.sh}
-cmake -S path/to/glfw -B path/to/build -D BUILD_SHARED_LIBS=ON
-@endcode
-
-
-@subsection compile_options_shared Shared CMake options
-
-@anchor BUILD_SHARED_LIBS
-__BUILD_SHARED_LIBS__ determines whether GLFW is built as a static library or as
-a DLL / shared library / dynamic library. This is disabled by default,
-producing a static GLFW library. This variable has no `GLFW_` prefix because it
-is defined by CMake. If you want to change the library only for GLFW when it is
-part of a larger project, see @ref GLFW_LIBRARY_TYPE.
-
-@anchor GLFW_LIBRARY_TYPE
-__GLFW_LIBRARY_TYPE__ allows you to override @ref BUILD_SHARED_LIBS only for
-GLFW, without affecting other libraries in a larger project. When set, the
-value of this option must be a valid CMake library type. Set it to `STATIC` to
-build GLFW as a static library, `SHARED` to build it as a shared library
-/ dynamic library / DLL, or `OBJECT` to make GLFW a CMake object library.
-
-@anchor GLFW_BUILD_EXAMPLES
-__GLFW_BUILD_EXAMPLES__ determines whether the GLFW examples are built
-along with the library. This is enabled by default unless GLFW is being built
-as a sub-project of a larger CMake project.
-
-@anchor GLFW_BUILD_TESTS
-__GLFW_BUILD_TESTS__ determines whether the GLFW test programs are
-built along with the library. This is enabled by default unless GLFW is being
-built as a sub-project of a larger CMake project.
-
-@anchor GLFW_BUILD_DOCS
-__GLFW_BUILD_DOCS__ determines whether the GLFW documentation is built along
-with the library. This is enabled by default if
-[Doxygen](https://www.doxygen.nl/) is found by CMake during configuration.
-
-
-@subsection compile_options_win32 Win32 specific CMake options
-
-@anchor GLFW_BUILD_WIN32
-__GLFW_BUILD_WIN32__ determines whether to include support for Win32 when compiling the
-library. This option is only available when compiling for Windows. This is enabled by
-default.
-
-@anchor USE_MSVC_RUNTIME_LIBRARY_DLL
-__USE_MSVC_RUNTIME_LIBRARY_DLL__ determines whether to use the DLL version or the
-static library version of the Visual C++ runtime library. When enabled, the
-DLL version of the Visual C++ library is used. This is enabled by default.
-
-On CMake 3.15 and later you can set the standard CMake
-[CMAKE_MSVC_RUNTIME_LIBRARY](https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html)
-variable instead of this GLFW-specific option.
-
-@anchor GLFW_USE_HYBRID_HPG
-__GLFW_USE_HYBRID_HPG__ determines whether to export the `NvOptimusEnablement` and
-`AmdPowerXpressRequestHighPerformance` symbols, which force the use of the
-high-performance GPU on Nvidia Optimus and AMD PowerXpress systems. These symbols
-need to be exported by the EXE to be detected by the driver, so the override
-will not work if GLFW is built as a DLL. This is disabled by default, letting
-the operating system and driver decide.
-
-
-@subsection compile_options_macos macOS specific CMake options
-
-@anchor GLFW_BUILD_COCOA
-__GLFW_BUILD_COCOA__ determines whether to include support for Cocoa when compiling the
-library. This option is only available when compiling for macOS. This is enabled by
-default.
-
-
-@subsection compile_options_unix Unix-like system specific CMake options
-
-@anchor GLFW_BUILD_WAYLAND
-__GLFW_BUILD_WAYLAND__ determines whether to include support for Wayland when compiling
-the library. This option is only available when compiling for Linux and other Unix-like
-systems other than macOS. This is disabled by default.
-
-@anchor GLFW_BUILD_X11
-__GLFW_BUILD_X11__ determines whether to include support for X11 when compiling the
-library. This option is only available when compiling for Linux and other Unix-like
-systems other than macOS. This is enabled by default.
-
-
-@section compile_mingw_cross Cross-compilation with CMake and MinGW
-
-Both Cygwin and many Linux distributions have MinGW or MinGW-w64 packages. For
-example, Cygwin has the `mingw64-i686-gcc` and `mingw64-x86_64-gcc` packages
-for 32- and 64-bit version of MinGW-w64, while Debian GNU/Linux and derivatives
-like Ubuntu have the `mingw-w64` package for both.
-
-GLFW has CMake toolchain files in the `CMake` subdirectory that set up
-cross-compilation of Windows binaries. To use these files you set the
-`CMAKE_TOOLCHAIN_FILE` CMake variable with the `-D` flag add an option when
-configuring and generating the build files.
-
-@code{.sh}
-cmake -S path/to/glfw -B path/to/build -D CMAKE_TOOLCHAIN_FILE=path/to/file
-@endcode
-
-The exact toolchain file to use depends on the prefix used by the MinGW or
-MinGW-w64 binaries on your system. You can usually see this in the /usr
-directory. For example, both the Ubuntu and Cygwin MinGW-w64 packages have
-`/usr/x86_64-w64-mingw32` for the 64-bit compilers, so the correct invocation
-would be:
-
-@code{.sh}
-cmake -S path/to/glfw -B path/to/build -D CMAKE_TOOLCHAIN_FILE=CMake/x86_64-w64-mingw32.cmake
-@endcode
-
-The path to the toolchain file is relative to the path to the GLFW source tree
-passed to the `-S` flag, not to the current directory.
-
-For more details see the
-[CMake toolchain guide](https://cmake.org/cmake/help/latest/manual/cmake-toolchains.7.html).
-
-
-@section compile_manual Compiling GLFW manually
-
-If you wish to compile GLFW without its CMake build environment then you will have to do
-at least some of the platform detection yourself. There are preprocessor macros for
-enabling support for the platforms (window systems) available. There are also optional,
-platform-specific macros for various features.
-
-When building, GLFW will expect the necessary configuration macros to be defined
-on the command-line. The GLFW CMake files set these as private compile
-definitions on the GLFW target but if you compile the GLFW sources manually you
-will need to define them yourself.
-
-The window system is used to create windows, handle input, monitors, gamma ramps and
-clipboard. The options are:
-
- - @b _GLFW_COCOA to use the Cocoa frameworks
- - @b _GLFW_WIN32 to use the Win32 API
- - @b _GLFW_X11 to use the X Window System
- - @b _GLFW_WAYLAND to use the Wayland API (incomplete)
-
-The @b _GLFW_WAYLAND and @b _GLFW_X11 macros may be combined and produces a library that
-attempts to detect the appropriate platform at initialization.
-
-If you are building GLFW as a shared library / dynamic library / DLL then you
-must also define @b _GLFW_BUILD_DLL. Otherwise, you must not define it.
-
-If you are using a custom name for the Vulkan, EGL, GLX, OSMesa, OpenGL, GLESv1
-or GLESv2 library, you can override the default names by defining those you need
-of @b _GLFW_VULKAN_LIBRARY, @b _GLFW_EGL_LIBRARY, @b _GLFW_GLX_LIBRARY, @b
-_GLFW_OSMESA_LIBRARY, @b _GLFW_OPENGL_LIBRARY, @b _GLFW_GLESV1_LIBRARY and @b
-_GLFW_GLESV2_LIBRARY. Otherwise, GLFW will use the built-in default names.
-
-@note None of the @ref build_macros may be defined during the compilation of
-GLFW. If you define any of these in your build files, make sure they are not
-applied to the GLFW sources.
-
-*/
diff --git a/3rdparty/glfw/source/docs/context.dox b/3rdparty/glfw/source/docs/context.dox
deleted file mode 100644
index c51e268..0000000
--- a/3rdparty/glfw/source/docs/context.dox
+++ /dev/null
@@ -1,342 +0,0 @@
-/*!
-
-@page context_guide Context guide
-
-@tableofcontents
-
-This guide introduces the OpenGL and OpenGL ES context related functions of
-GLFW. For details on a specific function in this category, see the @ref
-context. There are also guides for the other areas of the GLFW API.
-
- - @ref intro_guide
- - @ref window_guide
- - @ref vulkan_guide
- - @ref monitor_guide
- - @ref input_guide
-
-
-@section context_object Context objects
-
-A window object encapsulates both a top-level window and an OpenGL or OpenGL ES
-context. It is created with @ref glfwCreateWindow and destroyed with @ref
-glfwDestroyWindow or @ref glfwTerminate. See @ref window_creation for more
-information.
-
-As the window and context are inseparably linked, the window object also serves
-as the context handle.
-
-To test the creation of various kinds of contexts and see their properties, run
-the `glfwinfo` test program.
-
-@note Vulkan does not have a context and the Vulkan instance is created via the
-Vulkan API itself. If you will be using Vulkan to render to a window, disable
-context creation by setting the [GLFW_CLIENT_API](@ref GLFW_CLIENT_API_hint)
-hint to `GLFW_NO_API`. For more information, see the @ref vulkan_guide.
-
-
-@subsection context_hints Context creation hints
-
-There are a number of hints, specified using @ref glfwWindowHint, related to
-what kind of context is created. See
-[context related hints](@ref window_hints_ctx) in the window guide.
-
-
-@subsection context_sharing Context object sharing
-
-When creating a window and its OpenGL or OpenGL ES context with @ref
-glfwCreateWindow, you can specify another window whose context the new one
-should share its objects (textures, vertex and element buffers, etc.) with.
-
-@code
-GLFWwindow* second_window = glfwCreateWindow(640, 480, "Second Window", NULL, first_window);
-@endcode
-
-Object sharing is implemented by the operating system and graphics driver. On
-platforms where it is possible to choose which types of objects are shared, GLFW
-requests that all types are shared.
-
-See the relevant chapter of the [OpenGL](https://www.opengl.org/registry/) or
-[OpenGL ES](https://www.khronos.org/opengles/) reference documents for more
-information. The name and number of this chapter unfortunately varies between
-versions and APIs, but has at times been named _Shared Objects and Multiple
-Contexts_.
-
-GLFW comes with a barebones object sharing example program called `sharing`.
-
-
-@subsection context_offscreen Offscreen contexts
-
-GLFW doesn't support creating contexts without an associated window. However,
-contexts with hidden windows can be created with the
-[GLFW_VISIBLE](@ref GLFW_VISIBLE_hint) window hint.
-
-@code
-glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
-
-GLFWwindow* offscreen_context = glfwCreateWindow(640, 480, "", NULL, NULL);
-@endcode
-
-The window never needs to be shown and its context can be used as a plain
-offscreen context. Depending on the window manager, the size of a hidden
-window's framebuffer may not be usable or modifiable, so framebuffer
-objects are recommended for rendering with such contexts.
-
-You should still [process events](@ref events) as long as you have at least one
-window, even if none of them are visible.
-
-
-@subsection context_less Windows without contexts
-
-You can disable context creation by setting the
-[GLFW_CLIENT_API](@ref GLFW_CLIENT_API_hint) hint to `GLFW_NO_API`. Windows
-without contexts must not be passed to @ref glfwMakeContextCurrent or @ref
-glfwSwapBuffers.
-
-
-@section context_current Current context
-
-Before you can make OpenGL or OpenGL ES calls, you need to have a current
-context of the correct type. A context can only be current for a single thread
-at a time, and a thread can only have a single context current at a time.
-
-When moving a context between threads, you must make it non-current on the old
-thread before making it current on the new one.
-
-The context of a window is made current with @ref glfwMakeContextCurrent.
-
-@code
-glfwMakeContextCurrent(window);
-@endcode
-
-The window of the current context is returned by @ref glfwGetCurrentContext.
-
-@code
-GLFWwindow* window = glfwGetCurrentContext();
-@endcode
-
-The following GLFW functions require a context to be current. Calling any these
-functions without a current context will generate a @ref GLFW_NO_CURRENT_CONTEXT
-error.
-
- - @ref glfwSwapInterval
- - @ref glfwExtensionSupported
- - @ref glfwGetProcAddress
-
-
-@section context_swap Buffer swapping
-
-See @ref buffer_swap in the window guide.
-
-
-@section context_glext OpenGL and OpenGL ES extensions
-
-One of the benefits of OpenGL and OpenGL ES is their extensibility.
-Hardware vendors may include extensions in their implementations that extend the
-API before that functionality is included in a new version of the OpenGL or
-OpenGL ES specification, and some extensions are never included and remain
-as extensions until they become obsolete.
-
-An extension is defined by:
-
-- An extension name (e.g. `GL_ARB_gl_spirv`)
-- New OpenGL tokens (e.g. `GL_SPIR_V_BINARY_ARB`)
-- New OpenGL functions (e.g. `glSpecializeShaderARB`)
-
-Note the `ARB` affix, which stands for Architecture Review Board and is used
-for official extensions. The extension above was created by the ARB, but there
-are many different affixes, like `NV` for Nvidia and `AMD` for, well, AMD. Any
-group may also use the generic `EXT` affix. Lists of extensions, together with
-their specifications, can be found at the
-[OpenGL Registry](https://www.opengl.org/registry/) and
-[OpenGL ES Registry](https://www.khronos.org/registry/gles/).
-
-
-@subsection context_glext_auto Loading extension with a loader library
-
-An extension loader library is the easiest and best way to access both OpenGL and
-OpenGL ES extensions and modern versions of the core OpenGL or OpenGL ES APIs.
-They will take care of all the details of declaring and loading everything you
-need. One such library is [glad](https://github.com/Dav1dde/glad) and there are
-several others.
-
-The following example will use glad but all extension loader libraries work
-similarly.
-
-First you need to generate the source files using the glad Python script. This
-example generates a loader for any version of OpenGL, which is the default for
-both GLFW and glad, but loaders for OpenGL ES, as well as loaders for specific
-API versions and extension sets can be generated. The generated files are
-written to the `output` directory.
-
-@code{.sh}
-python main.py --generator c --no-loader --out-path output
-@endcode
-
-The `--no-loader` option is added because GLFW already provides a function for
-loading OpenGL and OpenGL ES function pointers, one that automatically uses the
-selected context creation API, and glad can call this instead of having to
-implement its own. There are several other command-line options as well. See
-the glad documentation for details.
-
-Add the generated `output/src/glad.c`, `output/include/glad/glad.h` and
-`output/include/KHR/khrplatform.h` files to your build. Then you need to
-include the glad header file, which will replace the OpenGL header of your
-development environment. By including the glad header before the GLFW header,
-it suppresses the development environment's OpenGL or OpenGL ES header.
-
-@code
-#include <glad/glad.h>
-#include <GLFW/glfw3.h>
-@endcode
-
-Finally you need to initialize glad once you have a suitable current context.
-
-@code
-window = glfwCreateWindow(640, 480, "My Window", NULL, NULL);
-if (!window)
-{
- ...
-}
-
-glfwMakeContextCurrent(window);
-
-gladLoadGLLoader((GLADloadproc) glfwGetProcAddress);
-@endcode
-
-Once glad has been loaded, you have access to all OpenGL core and extension
-functions supported by both the context you created and the glad loader you
-generated and you are ready to start rendering.
-
-You can specify a minimum required OpenGL or OpenGL ES version with
-[context hints](@ref window_hints_ctx). If your needs are more complex, you can
-check the actual OpenGL or OpenGL ES version with
-[context attributes](@ref window_attribs_ctx), or you can check whether
-a specific version is supported by the current context with the
-`GLAD_GL_VERSION_x_x` booleans.
-
-@code
-if (GLAD_GL_VERSION_3_2)
-{
- // Call OpenGL 3.2+ specific code
-}
-@endcode
-
-To check whether a specific extension is supported, use the `GLAD_GL_xxx`
-booleans.
-
-@code
-if (GLAD_GL_ARB_gl_spirv)
-{
- // Use GL_ARB_gl_spirv
-}
-@endcode
-
-
-@subsection context_glext_manual Loading extensions manually
-
-__Do not use this technique__ unless it is absolutely necessary. An
-[extension loader library](@ref context_glext_auto) will save you a ton of
-tedious, repetitive, error prone work.
-
-To use a certain extension, you must first check whether the context supports
-that extension and then, if it introduces new functions, retrieve the pointers
-to those functions. GLFW provides @ref glfwExtensionSupported and @ref
-glfwGetProcAddress for manual loading of extensions and new API functions.
-
-This section will demonstrate manual loading of OpenGL extensions. The loading
-of OpenGL ES extensions is identical except for the name of the extension header.
-
-
-@subsubsection context_glext_header The glext.h header
-
-The `glext.h` extension header is a continually updated file that defines the
-interfaces for all OpenGL extensions. The latest version of this can always be
-found at the [OpenGL Registry](https://www.opengl.org/registry/). There are also
-extension headers for the various versions of OpenGL ES at the
-[OpenGL ES Registry](https://www.khronos.org/registry/gles/). It it strongly
-recommended that you use your own copy of the extension header, as the one
-included in your development environment may be several years out of date and
-may not include the extensions you wish to use.
-
-The header defines function pointer types for all functions of all extensions it
-supports. These have names like `PFNGLSPECIALIZESHADERARBPROC` (for
-`glSpecializeShaderARB`), i.e. the name is made uppercase and `PFN` (pointer
-to function) and `PROC` (procedure) are added to the ends.
-
-To include the extension header, define @ref GLFW_INCLUDE_GLEXT before including
-the GLFW header.
-
-@code
-#define GLFW_INCLUDE_GLEXT
-#include <GLFW/glfw3.h>
-@endcode
-
-
-@subsubsection context_glext_string Checking for extensions
-
-A given machine may not actually support the extension (it may have older
-drivers or a graphics card that lacks the necessary hardware features), so it
-is necessary to check at run-time whether the context supports the extension.
-This is done with @ref glfwExtensionSupported.
-
-@code
-if (glfwExtensionSupported("GL_ARB_gl_spirv"))
-{
- // The extension is supported by the current context
-}
-@endcode
-
-The argument is a null terminated ASCII string with the extension name. If the
-extension is supported, @ref glfwExtensionSupported returns `GLFW_TRUE`,
-otherwise it returns `GLFW_FALSE`.
-
-
-@subsubsection context_glext_proc Fetching function pointers
-
-Many extensions, though not all, require the use of new OpenGL functions.
-These functions often do not have entry points in the client API libraries of
-your operating system, making it necessary to fetch them at run time. You can
-retrieve pointers to these functions with @ref glfwGetProcAddress.
-
-@code
-PFNGLSPECIALIZESHADERARBPROC pfnSpecializeShaderARB = glfwGetProcAddress("glSpecializeShaderARB");
-@endcode
-
-In general, you should avoid giving the function pointer variables the (exact)
-same name as the function, as this may confuse your linker. Instead, you can
-use a different prefix, like above, or some other naming scheme.
-
-Now that all the pieces have been introduced, here is what they might look like
-when used together.
-
-@code
-#define GLFW_INCLUDE_GLEXT
-#include <GLFW/glfw3.h>
-
-#define glSpecializeShaderARB pfnSpecializeShaderARB
-PFNGLSPECIALIZESHADERARBPROC pfnSpecializeShaderARB;
-
-// Flag indicating whether the extension is supported
-int has_ARB_gl_spirv = 0;
-
-void load_extensions(void)
-{
- if (glfwExtensionSupported("GL_ARB_gl_spirv"))
- {
- pfnSpecializeShaderARB = (PFNGLSPECIALIZESHADERARBPROC)
- glfwGetProcAddress("glSpecializeShaderARB");
- has_ARB_gl_spirv = 1;
- }
-}
-
-void some_function(void)
-{
- if (has_ARB_gl_spirv)
- {
- // Now the extension function can be called as usual
- glSpecializeShaderARB(...);
- }
-}
-@endcode
-
-*/
diff --git a/3rdparty/glfw/source/docs/extra.css b/3rdparty/glfw/source/docs/extra.css
deleted file mode 100644
index 1a28734..0000000
--- a/3rdparty/glfw/source/docs/extra.css
+++ /dev/null
@@ -1,2 +0,0 @@
-.sm-dox,.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted,.sm-dox ul a:hover{background:none;text-shadow:none}.sm-dox a span.sub-arrow{border-color:#f2f2f2 transparent transparent transparent}.sm-dox a span.sub-arrow:active,.sm-dox a span.sub-arrow:focus,.sm-dox a span.sub-arrow:hover,.sm-dox a:hover span.sub-arrow{border-color:#f60 transparent transparent transparent}.sm-dox ul a span.sub-arrow:active,.sm-dox ul a span.sub-arrow:focus,.sm-dox ul a span.sub-arrow:hover,.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #f60}.sm-dox ul a:hover{background:#666;text-shadow:none}.sm-dox ul.sm-nowrap a{color:#4d4d4d;text-shadow:none}#main-nav,#main-menu,#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.memdoc,dl.reflist dd,div.toc li,.ah,span.lineno,span.lineno a,span.lineno a:hover,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,.doxtable code,.markdownTable code{background:none}#titlearea,.footer,.contents,div.header,.memdoc,table.doxtable td,table.doxtable th,table.markdownTable td,table.markdownTable th,hr,.memSeparator{border:none}#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.reflist dt a.el,.levels span,.directory .levels span{text-shadow:none}.memdoc,dl.reflist dd{box-shadow:none}div.headertitle,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,table.doxtable code,table.markdownTable code{padding:0}#nav-path,.directory .levels,span.lineno{display:none}html,#titlearea,.footer,tr.even,.directory tr.even,.doxtable tr:nth-child(even),tr.markdownTableBody:nth-child(even),.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,code,.markdownTableRowEven{background:#f2f2f2}body{color:#4d4d4d}div.title{font-size:170%;margin:1em 0 0.5em 0}h1,h2,h2.groupheader,h3,div.toc h3,h4,h5,h6,strong,em{color:#1a1a1a;border-bottom:none}h1{padding-top:0.5em;font-size:150%}h2{padding-top:0.5em;margin-bottom:0;font-size:130%}h3{padding-top:0.5em;margin-bottom:0;font-size:110%}.glfwheader{font-size:16px;min-height:64px;max-width:920px;padding:0 32px;margin:0 auto;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:stretch}#glfwhome{line-height:64px;padding-right:48px;color:#666;font-size:2.5em;background:url("https://www.glfw.org/css/arrow.png") no-repeat right}.glfwnavbar{list-style-type:none;margin:0 0 0 auto;float:right}#glfwhome,.glfwnavbar li{float:left}.glfwnavbar a,.glfwnavbar a:visited{line-height:64px;margin-left:2em;display:block;color:#666}.glfwnavbar{padding-left:0}#glfwhome,.glfwnavbar a,.glfwnavbar a:visited{transition:.35s ease}#titlearea,.footer{color:#666}address.footer{text-align:center;padding:2em;margin-top:3em}#top{background:#666}#main-nav{max-width:960px;margin:0 auto;font-size:13px}#main-menu{max-width:920px;margin:0 auto;font-size:13px}.memtitle{display:none}.memproto,.memname{font-weight:bold;text-shadow:none}#main-menu{min-height:36px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:stretch}#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li{color:#f2f2f2}#main-menu li ul.sm-nowrap li a{color:#4d4d4d}#main-menu li ul.sm-nowrap li a:hover{color:#f60}#main-menu>li:last-child{margin:0 0 0 auto}.contents{min-height:590px}div.contents,div.header{max-width:920px;margin:0 auto;padding:0 32px;background:#fff none}table.doxtable th,table.markdownTable th,dl.reflist dt{background:linear-gradient(to bottom, #ffa733 0%, #f60 100%);box-shadow:inset 0 0 32px #f60;text-shadow:0 -1px 1px #b34700;text-align:left;color:#fff}dl.reflist dt a.el{color:#f60;padding:.2em;border-radius:4px;background-color:#ffe0cc}div.toc{float:right;width:35%}@media screen and (max-width: 600px){div.toc{float:none;width:inherit;margin:0}}div.toc h3{font-size:1.17em}div.toc ul{padding-left:1.5em}div.toc li{font-size:1em;padding-left:0;list-style-type:disc}div.toc li.level2,div.toc li.level3{margin-left:0.5em}div.toc,.memproto,div.qindex,div.ah{background:linear-gradient(to bottom, #f2f2f2 0%, #e6e6e6 100%);box-shadow:inset 0 0 32px #e6e6e6;text-shadow:0 1px 1px #fff;color:#1a1a1a;border:2px solid #e6e6e6;border-radius:4px}.paramname{color:#803300}dl.reflist dt{border:2px solid #f60;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:none}dl.reflist dd{border:2px solid #f60;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top:none}table.doxtable,table.markdownTable{border-collapse:inherit;border-spacing:0;border:2px solid #f60;border-radius:4px}a,a:hover,a:visited,a:visited:hover,.contents a:visited,.el,a.el:visited,#glfwhome:hover,#main-menu a:hover,span.lineno a:hover{color:#f60;text-decoration:none}div.directory{border-collapse:inherit;border-spacing:0;border:2px solid #f60;border-radius:4px}hr,.memSeparator{height:2px;background:linear-gradient(to right, #f2f2f2 0%, #d9d9d9 50%, #f2f2f2 100%)}dl.note,dl.pre,dl.post,dl.invariant{background:linear-gradient(to bottom, #ddfad1 0%, #cbf7ba 100%);box-shadow:inset 0 0 32px #baf5a3;color:#1e5309;border:2px solid #afe699}dl.warning,dl.attention{background:linear-gradient(to bottom, #fae8d1 0%, #f7ddba 100%);box-shadow:inset 0 0 32px #f5d1a3;color:#533309;border:2px solid #e6c499}dl.deprecated,dl.bug{background:linear-gradient(to bottom, #fad1e3 0%, #f7bad6 100%);box-shadow:inset 0 0 32px #f5a3c8;color:#53092a;border:2px solid #e699bb}dl.todo,dl.test{background:linear-gradient(to bottom, #d1ecfa 0%, #bae3f7 100%);box-shadow:inset 0 0 32px #a3daf5;color:#093a53;border:2px solid #99cce6}dl.note,dl.pre,dl.post,dl.invariant,dl.warning,dl.attention,dl.deprecated,dl.bug,dl.todo,dl.test{border-radius:4px;padding:1em;text-shadow:0 1px 1px #fff;margin:1em 0}.note a,.pre a,.post a,.invariant a,.warning a,.attention a,.deprecated a,.bug a,.todo a,.test a,.note a:visited,.pre a:visited,.post a:visited,.invariant a:visited,.warning a:visited,.attention a:visited,.deprecated a:visited,.bug a:visited,.todo a:visited,.test a:visited{color:inherit}div.line{line-height:inherit}div.fragment,pre.fragment{background:#f2f2f2;border-radius:4px;border:none;padding:1em;overflow:auto;border-left:4px solid #ccc;margin:1em 0}.lineno a,.lineno a:visited,.line,pre.fragment{color:#4d4d4d}span.preprocessor,span.comment{color:#007899}a.code,a.code:visited{color:#e64500}span.keyword,span.keywordtype,span.keywordflow{color:#404040;font-weight:bold}span.stringliteral{color:#360099}code{padding:.1em;border-radius:4px}
-/*# sourceMappingURL=extra.css.map */
diff --git a/3rdparty/glfw/source/docs/extra.css.map b/3rdparty/glfw/source/docs/extra.css.map
deleted file mode 100644
index 4d9333c..0000000
--- a/3rdparty/glfw/source/docs/extra.css.map
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-"version": 3,
-"mappings": "AA8EA,2GAA4G,CAC3G,UAAU,CAAC,IAAI,CACf,WAAW,CAAC,IAAI,CAGjB,wBAAyB,CACxB,YAAY,CAAC,2CAAsD,CAGpE,4HAA6H,CAC5H,YAAY,CAAC,wCAAuD,CAGrE,wIAAyI,CACxI,YAAY,CAAC,wCAAuD,CAGrE,kBAAmB,CAClB,UAAU,CA9EgB,IAAa,CA+EvC,WAAW,CAAC,IAAI,CAGjB,sBAAuB,CACtB,KAAK,CAzFe,OAAa,CA0FjC,WAAW,CAAC,IAAI,CAGjB,4UAA6U,CAC5U,UAAU,CAAC,IAAI,CAGhB,kJAAmJ,CAClJ,MAAM,CAAC,IAAI,CAGZ,wHAAyH,CACxH,WAAW,CAAC,IAAI,CAGjB,qBAAsB,CACrB,UAAU,CAAC,IAAI,CAGhB,2LAA4L,CAC3L,OAAO,CAAC,CAAC,CAGV,wCAAyC,CACxC,OAAO,CAAC,IAAI,CAGb,iMAAkM,CACjM,UAAU,CApGW,OAA+B,CAuGrD,IAAK,CACJ,KAAK,CA1He,OAAa,CA6HlC,SAAU,CACN,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,aAAa,CAGzB,qDAAsD,CACrD,KAAK,CApHU,OAAa,CAqH5B,aAAa,CAAC,IAAI,CAGnB,EAAG,CACF,WAAW,CAAC,KAAK,CACjB,SAAS,CAAC,IAAI,CAGf,EAAG,CACF,WAAW,CAAC,KAAK,CACjB,aAAa,CAAC,CAAC,CACf,SAAS,CAAC,IAAI,CAGf,EAAG,CACF,WAAW,CAAC,KAAK,CACjB,aAAa,CAAC,CAAC,CACf,SAAS,CAAC,IAAI,CAGf,WAAY,CACX,SAAS,CAAC,IAAI,CACd,UAAU,CAAC,IAAI,CACf,SAAS,CAAC,KAAK,CACf,OAAO,CAAC,MAAM,CACd,MAAM,CAAC,MAAM,CAEb,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,SAAS,CAAE,IAAI,CACf,eAAe,CAAE,UAAU,CAC3B,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,OAAO,CAGvB,SAAU,CACT,WAAW,CAAC,IAAI,CAChB,aAAa,CAAC,IAAI,CAClB,KAAK,CApKqB,IAAa,CAqKvC,SAAS,CAAC,KAAK,CACf,UAAU,CAAC,yDAAyD,CAGrE,WAAY,CACX,eAAe,CAAC,IAAI,CACpB,MAAM,CAAC,UAAU,CACjB,KAAK,CAAC,KAAK,CAGZ,wBAAyB,CACxB,KAAK,CAAC,IAAI,CAGX,mCAAoC,CACnC,WAAW,CAAC,IAAI,CAChB,WAAW,CAAC,GAAG,CACf,OAAO,CAAC,KAAK,CACb,KAAK,CAvLqB,IAAa,CA0LxC,WAAY,CACX,YAAY,CAAE,CAAC,CAGhB,6CAA8C,CAC7C,UAAU,CAAC,SAAS,CAGrB,kBAAmB,CAClB,KAAK,CAnMqB,IAAa,CAsMxC,cAAe,CACd,UAAU,CAAC,MAAM,CACjB,OAAO,CAAC,GAAG,CACX,UAAU,CAAC,GAAG,CAGf,IAAK,CACJ,UAAU,CA7MgB,IAAa,CAgNxC,SAAU,CACT,SAAS,CAAC,KAAK,CACf,MAAM,CAAC,MAAM,CACb,SAAS,CAAC,IAAI,CAGf,UAAW,CACV,SAAS,CAAC,KAAK,CACf,MAAM,CAAC,MAAM,CACb,SAAS,CAAC,IAAI,CAGf,SAAU,CACT,OAAO,CAAC,IAAI,CAGb,kBAAmB,CAClB,WAAW,CAAC,IAAI,CAChB,WAAW,CAAC,IAAI,CAGjB,UAAW,CACV,UAAU,CAAC,IAAI,CACf,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,SAAS,CAAE,IAAI,CACf,eAAe,CAAE,UAAU,CAC3B,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,OAAO,CAGvB,kEAAmE,CAClE,KAAK,CApOgB,OAA+B,CAuOrD,+BAAgC,CAC/B,KAAK,CA1Pe,OAAa,CA6PlC,qCAAsC,CACrC,KAAK,CA1NoB,IAAsB,CA6NhD,wBAA2B,CAC1B,MAAM,CAAE,UAAU,CAGnB,SAAU,CACT,UAAU,CAAC,KAAK,CAGjB,uBAAwB,CACvB,SAAS,CAAC,KAAK,CACf,MAAM,CAAC,MAAM,CACb,OAAO,CAAC,MAAM,CACd,UAAU,CAAC,SAA8B,CAG1C,sDAAuD,CACtD,UAAU,CAAC,iDAAoF,CAC/F,UAAU,CAAC,mBAAuC,CAClD,WAAW,CAAC,kBAAgD,CAC5D,UAAU,CAAC,IAAI,CACf,KAAK,CAlPa,IAAe,CAqPlC,kBAAmB,CAClB,KAAK,CArPoB,IAAsB,CAsP/C,OAAO,CAAC,IAAI,CACZ,aAAa,CAAC,GAAG,CACjB,gBAAgB,CAAC,OAAiC,CAGnD,OAAQ,CACP,KAAK,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAGV,oCAAoC,CACnC,OAAQ,CACP,KAAK,CAAC,IAAI,CACV,KAAK,CAAC,OAAO,CACb,MAAM,CAAC,CAAC,EAIV,UAAW,CACV,SAAS,CAAC,MAAM,CAGjB,UAAW,CACV,YAAY,CAAC,KAAK,CAGnB,UAAW,CACV,SAAS,CAAC,GAAG,CACb,YAAY,CAAC,CAAC,CACd,eAAe,CAAC,IAAI,CAIjB,mCAAqB,CACjB,WAAW,CAAC,KAAK,CAIzB,mCAAoC,CACnC,UAAU,CAAC,oDAAgF,CAC3F,UAAU,CAAC,sBAAqC,CAChD,WAAW,CAAC,cAA8C,CAC1D,KAAK,CArTU,OAAa,CAsT5B,MAAM,CAAC,iBAAgC,CACvC,aAAa,CAAC,GAAG,CAGlB,UAAW,CACV,KAAK,CA9RkB,OAAgC,CAiSxD,aAAc,CACb,MAAM,CAAC,cAA+B,CACtC,sBAAsB,CAAC,GAAG,CAC1B,uBAAuB,CAAC,GAAG,CAC3B,aAAa,CAAC,IAAI,CAGnB,aAAc,CACb,MAAM,CAAC,cAA+B,CACtC,0BAA0B,CAAC,GAAG,CAC9B,yBAAyB,CAAC,GAAG,CAC7B,UAAU,CAAC,IAAI,CAGhB,kCAAmC,CAClC,eAAe,CAAC,OAAO,CACvB,cAAc,CAAC,CAAC,CAChB,MAAM,CAAC,cAA+B,CACtC,aAAa,CAAC,GAAG,CAGlB,+HAAgI,CAC/H,KAAK,CA/ToB,IAAsB,CAgU/C,eAAe,CAAC,IAAI,CAGrB,aAAc,CACb,eAAe,CAAC,OAAO,CACvB,cAAc,CAAC,CAAC,CAChB,MAAM,CAAC,cAA+B,CACtC,aAAa,CAAC,GAAG,CAGlB,gBAAiB,CAChB,MAAM,CAAC,GAAG,CACV,UAAU,CAAC,gEAAiH,CAG7H,mCAAoC,CAvTnC,UAAU,CAAC,oDAAuE,CAClF,UAAU,CAAC,sBAAsC,CACjD,KAAK,CAAC,OAAwB,CAC9B,MAAM,CAAC,iBAAmD,CAwT3D,uBAAwB,CA3TvB,UAAU,CAAC,oDAAuE,CAClF,UAAU,CAAC,sBAAsC,CACjD,KAAK,CAAC,OAAwB,CAC9B,MAAM,CAAC,iBAAmD,CA4T3D,oBAAqB,CA/TpB,UAAU,CAAC,oDAAuE,CAClF,UAAU,CAAC,sBAAsC,CACjD,KAAK,CAAC,OAAwB,CAC9B,MAAM,CAAC,iBAAmD,CAgU3D,eAAgB,CAnUf,UAAU,CAAC,oDAAuE,CAClF,UAAU,CAAC,sBAAsC,CACjD,KAAK,CAAC,OAAwB,CAC9B,MAAM,CAAC,iBAAmD,CAoU3D,gGAAiG,CAChG,aAAa,CAAC,GAAG,CACjB,OAAO,CAAC,GAAG,CACX,WAAW,CAAC,cAAwB,CACpC,MAAM,CAAC,KAAK,CAGb,iRAAkR,CACjR,KAAK,CAAC,OAAO,CAGd,QAAS,CACR,WAAW,CAAC,OAAO,CAGpB,yBAA0B,CACzB,UAAU,CAAC,OAAa,CACxB,aAAa,CAAC,GAAG,CACjB,MAAM,CAAC,IAAI,CACX,OAAO,CAAC,GAAG,CACX,QAAQ,CAAC,IAAI,CACb,WAAW,CAAC,cAAuB,CACnC,MAAM,CAAC,KAAK,CAGb,8CAA+C,CAC9C,KAAK,CA7Ze,OAAa,CAgalC,8BAA+B,CAC9B,KAAK,CAAC,OAAiB,CAGxB,qBAAsB,CACrB,KAAK,CAAC,OAAgB,CAGvB,8CAA+C,CAC9C,KAAK,CAAC,OAA+B,CACrC,WAAW,CAAC,IAAI,CAGjB,kBAAmB,CAClB,KAAK,CAAC,OAAiB,CAGxB,IAAK,CACJ,OAAO,CAAC,IAAI,CACZ,aAAa,CAAC,GAAG",
-"sources": ["extra.scss"],
-"names": [],
-"file": "extra.css"
-}
diff --git a/3rdparty/glfw/source/docs/extra.scss b/3rdparty/glfw/source/docs/extra.scss
deleted file mode 100644
index 43fe983..0000000
--- a/3rdparty/glfw/source/docs/extra.scss
+++ /dev/null
@@ -1,449 +0,0 @@
-// NOTE: Please use this file to perform modifications on default style sheets.
-//
-// You need to install the official Sass CLI tool:
-// npm install -g sass
-//
-// Run this command to regenerate extra.css after you're finished with changes:
-// sass --style=compressed extra.scss extra.css
-//
-// Alternatively you can use online services to regenerate extra.css.
-
-
-// Default text color for page contents
-$default-text-color: hsl(0,0%,30%);
-
-// Page header, footer, table rows, inline codes and definition lists
-$header-footer-background-color: hsl(0,0%,95%);
-
-// Page header, footer links and navigation bar background
-$header-footer-link-color: hsl(0,0%,40%);
-
-// Doxygen navigation bar links
-$navbar-link-color: $header-footer-background-color;
-
-// Page content background color
-$content-background-color: hsl(0,0%,100%);
-
-// Bold, italic, h1, h2, ... and table of contents
-$heading-color: hsl(0,0%,10%);
-
-// Function, enum and macro definition separator
-$def-separator-color: $header-footer-background-color;
-
-// Base color hue
-$base-hue: 24;
-
-// Default color used for links
-$default-link-color: hsl($base-hue,100%,50%);
-
-// Doxygen navigation bar active tab
-$tab-text-color: hsl(0,0%,100%);
-$tab-background-color1: $default-link-color;
-$tab-background-color2: lighten(adjust-hue($tab-background-color1, 10), 10%);
-
-// Table borders
-$default-border-color: $default-link-color;
-
-// Table header
-$table-text-color: $tab-text-color;
-$table-background-color1: $tab-background-color1;
-$table-background-color2: $tab-background-color2;
-
-// Table of contents, data structure index and prototypes
-$toc-background-color1: hsl(0,0%,90%);
-$toc-background-color2: lighten($toc-background-color1, 5%);
-
-// Function prototype parameters color
-$prototype-param-color: darken($default-link-color, 25%);
-
-// Message box color: note, pre, post and invariant
-$box-note-color: hsl(103,80%,85%);
-
-// Message box color: warning and attention
-$box-warning-color: hsl(34,80%,85%);
-
-// Message box color: deprecated and bug
-$box-bug-color: hsl(333,80%,85%);
-
-// Message box color: todo and test
-$box-todo-color: hsl(200,80%,85%);
-
-// Message box helper function
-@mixin message-box($base-color){
- background:linear-gradient(to bottom,lighten($base-color, 5%) 0%,$base-color 100%);
- box-shadow:inset 0 0 32px darken($base-color, 5%);
- color:darken($base-color, 67%);
- border:2px solid desaturate(darken($base-color, 10%), 20%);
-}
-
-.sm-dox,.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted,.sm-dox ul a:hover {
- background:none;
- text-shadow:none;
-}
-
-.sm-dox a span.sub-arrow {
- border-color:$navbar-link-color transparent transparent transparent;
-}
-
-.sm-dox a span.sub-arrow:active,.sm-dox a span.sub-arrow:focus,.sm-dox a span.sub-arrow:hover,.sm-dox a:hover span.sub-arrow {
- border-color:$default-link-color transparent transparent transparent;
-}
-
-.sm-dox ul a span.sub-arrow:active,.sm-dox ul a span.sub-arrow:focus,.sm-dox ul a span.sub-arrow:hover,.sm-dox ul a:hover span.sub-arrow {
- border-color:transparent transparent transparent $default-link-color;
-}
-
-.sm-dox ul a:hover {
- background:$header-footer-link-color;
- text-shadow:none;
-}
-
-.sm-dox ul.sm-nowrap a {
- color:$default-text-color;
- text-shadow:none;
-}
-
-#main-nav,#main-menu,#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.memdoc,dl.reflist dd,div.toc li,.ah,span.lineno,span.lineno a,span.lineno a:hover,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,.doxtable code,.markdownTable code {
- background:none;
-}
-
-#titlearea,.footer,.contents,div.header,.memdoc,table.doxtable td,table.doxtable th,table.markdownTable td,table.markdownTable th,hr,.memSeparator {
- border:none;
-}
-
-#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.reflist dt a.el,.levels span,.directory .levels span {
- text-shadow:none;
-}
-
-.memdoc,dl.reflist dd {
- box-shadow:none;
-}
-
-div.headertitle,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,table.doxtable code,table.markdownTable code {
- padding:0;
-}
-
-#nav-path,.directory .levels,span.lineno {
- display:none;
-}
-
-html,#titlearea,.footer,tr.even,.directory tr.even,.doxtable tr:nth-child(even),tr.markdownTableBody:nth-child(even),.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,code,.markdownTableRowEven {
- background:$header-footer-background-color;
-}
-
-body {
- color:$default-text-color;
-}
-
-div.title {
- font-size: 170%;
- margin: 1em 0 0.5em 0;
-}
-
-h1,h2,h2.groupheader,h3,div.toc h3,h4,h5,h6,strong,em {
- color:$heading-color;
- border-bottom:none;
-}
-
-h1 {
- padding-top:0.5em;
- font-size:150%;
-}
-
-h2 {
- padding-top:0.5em;
- margin-bottom:0;
- font-size:130%;
-}
-
-h3 {
- padding-top:0.5em;
- margin-bottom:0;
- font-size:110%;
-}
-
-.glfwheader {
- font-size:16px;
- min-height:64px;
- max-width:920px;
- padding:0 32px;
- margin:0 auto;
-
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-items: center;
- align-content: stretch;
-}
-
-#glfwhome {
- line-height:64px;
- padding-right:48px;
- color:$header-footer-link-color;
- font-size:2.5em;
- background:url("https://www.glfw.org/css/arrow.png") no-repeat right;
-}
-
-.glfwnavbar {
- list-style-type:none;
- margin:0 0 0 auto;
- float:right;
-}
-
-#glfwhome,.glfwnavbar li {
- float:left;
-}
-
-.glfwnavbar a,.glfwnavbar a:visited {
- line-height:64px;
- margin-left:2em;
- display:block;
- color:$header-footer-link-color;
-}
-
-.glfwnavbar {
- padding-left: 0;
-}
-
-#glfwhome,.glfwnavbar a,.glfwnavbar a:visited {
- transition:.35s ease;
-}
-
-#titlearea,.footer {
- color:$header-footer-link-color;
-}
-
-address.footer {
- text-align:center;
- padding:2em;
- margin-top:3em;
-}
-
-#top {
- background:$header-footer-link-color;
-}
-
-#main-nav {
- max-width:960px;
- margin:0 auto;
- font-size:13px;
-}
-
-#main-menu {
- max-width:920px;
- margin:0 auto;
- font-size:13px;
-}
-
-.memtitle {
- display:none;
-}
-
-.memproto,.memname {
- font-weight:bold;
- text-shadow:none;
-}
-
-#main-menu {
- min-height:36px;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- justify-content: flex-start;
- align-items: center;
- align-content: stretch;
-}
-
-#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li {
- color:$navbar-link-color;
-}
-
-#main-menu li ul.sm-nowrap li a {
- color:$default-text-color;
-}
-
-#main-menu li ul.sm-nowrap li a:hover {
- color:$default-link-color;
-}
-
-#main-menu > li:last-child {
- margin: 0 0 0 auto;
-}
-
-.contents {
- min-height:590px;
-}
-
-div.contents,div.header {
- max-width:920px;
- margin:0 auto;
- padding:0 32px;
- background:$content-background-color none;
-}
-
-table.doxtable th,table.markdownTable th,dl.reflist dt {
- background:linear-gradient(to bottom,$table-background-color2 0%,$table-background-color1 100%);
- box-shadow:inset 0 0 32px $table-background-color1;
- text-shadow:0 -1px 1px darken($table-background-color1, 15%);
- text-align:left;
- color:$table-text-color;
-}
-
-dl.reflist dt a.el {
- color:$default-link-color;
- padding:.2em;
- border-radius:4px;
- background-color:lighten($default-link-color, 40%);
-}
-
-div.toc {
- float:right;
- width:35%;
-}
-
-@media screen and (max-width:600px) {
- div.toc {
- float:none;
- width:inherit;
- margin:0;
- }
-}
-
-div.toc h3 {
- font-size:1.17em;
-}
-
-div.toc ul {
- padding-left:1.5em;
-}
-
-div.toc li {
- font-size:1em;
- padding-left:0;
- list-style-type:disc;
-}
-
-div.toc {
- li.level2, li.level3 {
- margin-left:0.5em;
- }
-}
-
-div.toc,.memproto,div.qindex,div.ah {
- background:linear-gradient(to bottom,$toc-background-color2 0%,$toc-background-color1 100%);
- box-shadow:inset 0 0 32px $toc-background-color1;
- text-shadow:0 1px 1px lighten($toc-background-color2, 10%);
- color:$heading-color;
- border:2px solid $toc-background-color1;
- border-radius:4px;
-}
-
-.paramname {
- color:$prototype-param-color;
-}
-
-dl.reflist dt {
- border:2px solid $default-border-color;
- border-top-left-radius:4px;
- border-top-right-radius:4px;
- border-bottom:none;
-}
-
-dl.reflist dd {
- border:2px solid $default-border-color;
- border-bottom-right-radius:4px;
- border-bottom-left-radius:4px;
- border-top:none;
-}
-
-table.doxtable,table.markdownTable {
- border-collapse:inherit;
- border-spacing:0;
- border:2px solid $default-border-color;
- border-radius:4px;
-}
-
-a,a:hover,a:visited,a:visited:hover,.contents a:visited,.el,a.el:visited,#glfwhome:hover,#main-menu a:hover,span.lineno a:hover {
- color:$default-link-color;
- text-decoration:none;
-}
-
-div.directory {
- border-collapse:inherit;
- border-spacing:0;
- border:2px solid $default-border-color;
- border-radius:4px;
-}
-
-hr,.memSeparator {
- height:2px;
- background:linear-gradient(to right,$def-separator-color 0%,darken($def-separator-color, 10%) 50%,$def-separator-color 100%);
-}
-
-dl.note,dl.pre,dl.post,dl.invariant {
- @include message-box($box-note-color);
-}
-
-dl.warning,dl.attention {
- @include message-box($box-warning-color);
-}
-
-dl.deprecated,dl.bug {
- @include message-box($box-bug-color);
-}
-
-dl.todo,dl.test {
- @include message-box($box-todo-color);
-}
-
-dl.note,dl.pre,dl.post,dl.invariant,dl.warning,dl.attention,dl.deprecated,dl.bug,dl.todo,dl.test {
- border-radius:4px;
- padding:1em;
- text-shadow:0 1px 1px hsl(0,0%,100%);
- margin:1em 0;
-}
-
-.note a,.pre a,.post a,.invariant a,.warning a,.attention a,.deprecated a,.bug a,.todo a,.test a,.note a:visited,.pre a:visited,.post a:visited,.invariant a:visited,.warning a:visited,.attention a:visited,.deprecated a:visited,.bug a:visited,.todo a:visited,.test a:visited {
- color:inherit;
-}
-
-div.line {
- line-height:inherit;
-}
-
-div.fragment,pre.fragment {
- background:hsl(0,0%,95%);
- border-radius:4px;
- border:none;
- padding:1em;
- overflow:auto;
- border-left:4px solid hsl(0,0%,80%);
- margin:1em 0;
-}
-
-.lineno a,.lineno a:visited,.line,pre.fragment {
- color:$default-text-color;
-}
-
-span.preprocessor,span.comment {
- color:hsl(193,100%,30%);
-}
-
-a.code,a.code:visited {
- color:hsl(18,100%,45%);
-}
-
-span.keyword,span.keywordtype,span.keywordflow {
- color:darken($default-text-color, 5%);
- font-weight:bold;
-}
-
-span.stringliteral {
- color:hsl(261,100%,30%);
-}
-
-code {
- padding:.1em;
- border-radius:4px;
-}
diff --git a/3rdparty/glfw/source/docs/footer.html b/3rdparty/glfw/source/docs/footer.html
deleted file mode 100644
index b0434ca..0000000
--- a/3rdparty/glfw/source/docs/footer.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<address class="footer">
-<p>
-Last update on $date for $projectname $projectnumber
-</p>
-</address>
-</body>
-</html>
diff --git a/3rdparty/glfw/source/docs/header.html b/3rdparty/glfw/source/docs/header.html
deleted file mode 100644
index 4cefa3d..0000000
--- a/3rdparty/glfw/source/docs/header.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen $doxygenversion"/>
-<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
-<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
-<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="$relpath^jquery.js"></script>
-<script type="text/javascript" src="$relpath^dynsections.js"></script>
-$treeview
-$search
-$mathjax
-<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
-$extrastylesheet
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-
-<!--BEGIN TITLEAREA-->
-<div id="titlearea">
- <div class="glfwheader">
- <a href="https://www.glfw.org/" id="glfwhome">GLFW</a>
- <ul class="glfwnavbar">
- <li><a href="https://www.glfw.org/documentation.html">Documentation</a></li>
- <li><a href="https://www.glfw.org/download.html">Download</a></li>
- <li><a href="https://www.glfw.org/community.html">Community</a></li>
- </ul>
- </div>
-</div>
-<!--END TITLEAREA-->
-<!-- end header part -->
diff --git a/3rdparty/glfw/source/docs/input.dox b/3rdparty/glfw/source/docs/input.dox
deleted file mode 100644
index faa94cd..0000000
--- a/3rdparty/glfw/source/docs/input.dox
+++ /dev/null
@@ -1,953 +0,0 @@
-/*!
-
-@page input_guide Input guide
-
-@tableofcontents
-
-This guide introduces the input related functions of GLFW. For details on
-a specific function in this category, see the @ref input. There are also guides
-for the other areas of GLFW.
-
- - @ref intro_guide
- - @ref window_guide
- - @ref context_guide
- - @ref vulkan_guide
- - @ref monitor_guide
-
-GLFW provides many kinds of input. While some can only be polled, like time, or
-only received via callbacks, like scrolling, many provide both callbacks and
-polling. Callbacks are more work to use than polling but is less CPU intensive
-and guarantees that you do not miss state changes.
-
-All input callbacks receive a window handle. By using the
-[window user pointer](@ref window_userptr), you can access non-global structures
-or objects from your callbacks.
-
-To get a better feel for how the various events callbacks behave, run the
-`events` test program. It register every callback supported by GLFW and prints
-out all arguments provided for every event, along with time and sequence
-information.
-
-
-@section events Event processing
-
-GLFW needs to poll the window system for events both to provide input to the
-application and to prove to the window system that the application hasn't locked
-up. Event processing is normally done each frame after
-[buffer swapping](@ref buffer_swap). Even when you have no windows, event
-polling needs to be done in order to receive monitor and joystick connection
-events.
-
-There are three functions for processing pending events. @ref glfwPollEvents,
-processes only those events that have already been received and then returns
-immediately.
-
-@code
-glfwPollEvents();
-@endcode
-
-This is the best choice when rendering continuously, like most games do.
-
-If you only need to update the contents of the window when you receive new
-input, @ref glfwWaitEvents is a better choice.
-
-@code
-glfwWaitEvents();
-@endcode
-
-It puts the thread to sleep until at least one event has been received and then
-processes all received events. This saves a great deal of CPU cycles and is
-useful for, for example, editing tools.
-
-If you want to wait for events but have UI elements or other tasks that need
-periodic updates, @ref glfwWaitEventsTimeout lets you specify a timeout.
-
-@code
-glfwWaitEventsTimeout(0.7);
-@endcode
-
-It puts the thread to sleep until at least one event has been received, or until
-the specified number of seconds have elapsed. It then processes any received
-events.
-
-If the main thread is sleeping in @ref glfwWaitEvents, you can wake it from
-another thread by posting an empty event to the event queue with @ref
-glfwPostEmptyEvent.
-
-@code
-glfwPostEmptyEvent();
-@endcode
-
-Do not assume that callbacks will _only_ be called in response to the above
-functions. While it is necessary to process events in one or more of the ways
-above, window systems that require GLFW to register callbacks of its own can
-pass events to GLFW in response to many window system function calls. GLFW will
-pass those events on to the application callbacks before returning.
-
-For example, on Windows the system function that @ref glfwSetWindowSize is
-implemented with will send window size events directly to the event callback
-that every window has and that GLFW implements for its windows. If you have set
-a [window size callback](@ref window_size) GLFW will call it in turn with the
-new size before everything returns back out of the @ref glfwSetWindowSize call.
-
-
-@section input_keyboard Keyboard input
-
-GLFW divides keyboard input into two categories; key events and character
-events. Key events relate to actual physical keyboard keys, whereas character
-events relate to the Unicode code points generated by pressing some of them.
-
-Keys and characters do not map 1:1. A single key press may produce several
-characters, and a single character may require several keys to produce. This
-may not be the case on your machine, but your users are likely not all using the
-same keyboard layout, input method or even operating system as you.
-
-
-@subsection input_key Key input
-
-If you wish to be notified when a physical key is pressed or released or when it
-repeats, set a key callback.
-
-@code
-glfwSetKeyCallback(window, key_callback);
-@endcode
-
-The callback function receives the [keyboard key](@ref keys), platform-specific
-scancode, key action and [modifier bits](@ref mods).
-
-@code
-void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
-{
- if (key == GLFW_KEY_E && action == GLFW_PRESS)
- activate_airship();
-}
-@endcode
-
-The action is one of `GLFW_PRESS`, `GLFW_REPEAT` or `GLFW_RELEASE`. The key
-will be `GLFW_KEY_UNKNOWN` if GLFW lacks a key token for it, for example
-_E-mail_ and _Play_ keys.
-
-The scancode is unique for every key, regardless of whether it has a key token.
-Scancodes are platform-specific but consistent over time, so keys will have
-different scancodes depending on the platform but they are safe to save to disk.
-You can query the scancode for any [named key](@ref keys) on the current
-platform with @ref glfwGetKeyScancode.
-
-@code
-const int scancode = glfwGetKeyScancode(GLFW_KEY_X);
-set_key_mapping(scancode, swap_weapons);
-@endcode
-
-The last reported state for every [named key](@ref keys) is also saved in
-per-window state arrays that can be polled with @ref glfwGetKey.
-
-@code
-int state = glfwGetKey(window, GLFW_KEY_E);
-if (state == GLFW_PRESS)
-{
- activate_airship();
-}
-@endcode
-
-The returned state is one of `GLFW_PRESS` or `GLFW_RELEASE`.
-
-This function only returns cached key event state. It does not poll the
-system for the current physical state of the key.
-
-@anchor GLFW_STICKY_KEYS
-Whenever you poll state, you risk missing the state change you are looking for.
-If a pressed key is released again before you poll its state, you will have
-missed the key press. The recommended solution for this is to use a
-key callback, but there is also the `GLFW_STICKY_KEYS` input mode.
-
-@code
-glfwSetInputMode(window, GLFW_STICKY_KEYS, GLFW_TRUE);
-@endcode
-
-When sticky keys mode is enabled, the pollable state of a key will remain
-`GLFW_PRESS` until the state of that key is polled with @ref glfwGetKey. Once
-it has been polled, if a key release event had been processed in the meantime,
-the state will reset to `GLFW_RELEASE`, otherwise it will remain `GLFW_PRESS`.
-
-@anchor GLFW_LOCK_KEY_MODS
-If you wish to know what the state of the Caps Lock and Num Lock keys was when
-input events were generated, set the `GLFW_LOCK_KEY_MODS` input mode.
-
-@code
-glfwSetInputMode(window, GLFW_LOCK_KEY_MODS, GLFW_TRUE);
-@endcode
-
-When this input mode is enabled, any callback that receives
-[modifier bits](@ref mods) will have the @ref GLFW_MOD_CAPS_LOCK bit set if Caps
-Lock was on when the event occurred and the @ref GLFW_MOD_NUM_LOCK bit set if
-Num Lock was on.
-
-The `GLFW_KEY_LAST` constant holds the highest value of any
-[named key](@ref keys).
-
-
-@subsection input_char Text input
-
-GLFW supports text input in the form of a stream of
-[Unicode code points](https://en.wikipedia.org/wiki/Unicode), as produced by the
-operating system text input system. Unlike key input, text input obeys keyboard
-layouts and modifier keys and supports composing characters using
-[dead keys](https://en.wikipedia.org/wiki/Dead_key). Once received, you can
-encode the code points into UTF-8 or any other encoding you prefer.
-
-Because an `unsigned int` is 32 bits long on all platforms supported by GLFW,
-you can treat the code point argument as native endian UTF-32.
-
-If you wish to offer regular text input, set a character callback.
-
-@code
-glfwSetCharCallback(window, character_callback);
-@endcode
-
-The callback function receives Unicode code points for key events that would
-have led to regular text input and generally behaves as a standard text field on
-that platform.
-
-@code
-void character_callback(GLFWwindow* window, unsigned int codepoint)
-{
-}
-@endcode
-
-
-@subsection input_key_name Key names
-
-If you wish to refer to keys by name, you can query the keyboard layout
-dependent name of printable keys with @ref glfwGetKeyName.
-
-@code
-const char* key_name = glfwGetKeyName(GLFW_KEY_W, 0);
-show_tutorial_hint("Press %s to move forward", key_name);
-@endcode
-
-This function can handle both [keys and scancodes](@ref input_key). If the
-specified key is `GLFW_KEY_UNKNOWN` then the scancode is used, otherwise it is
-ignored. This matches the behavior of the key callback, meaning the callback
-arguments can always be passed unmodified to this function.
-
-
-@section input_mouse Mouse input
-
-Mouse input comes in many forms, including mouse motion, button presses and
-scrolling offsets. The cursor appearance can also be changed, either to
-a custom image or a standard cursor shape from the system theme.
-
-
-@subsection cursor_pos Cursor position
-
-If you wish to be notified when the cursor moves over the window, set a cursor
-position callback.
-
-@code
-glfwSetCursorPosCallback(window, cursor_position_callback);
-@endcode
-
-The callback functions receives the cursor position, measured in screen
-coordinates but relative to the top-left corner of the window content area. On
-platforms that provide it, the full sub-pixel cursor position is passed on.
-
-@code
-static void cursor_position_callback(GLFWwindow* window, double xpos, double ypos)
-{
-}
-@endcode
-
-The cursor position is also saved per-window and can be polled with @ref
-glfwGetCursorPos.
-
-@code
-double xpos, ypos;
-glfwGetCursorPos(window, &xpos, &ypos);
-@endcode
-
-
-@subsection cursor_mode Cursor mode
-
-@anchor GLFW_CURSOR
-The `GLFW_CURSOR` input mode provides several cursor modes for special forms of
-mouse motion input. By default, the cursor mode is `GLFW_CURSOR_NORMAL`,
-meaning the regular arrow cursor (or another cursor set with @ref glfwSetCursor)
-is used and cursor motion is not limited.
-
-If you wish to implement mouse motion based camera controls or other input
-schemes that require unlimited mouse movement, set the cursor mode to
-`GLFW_CURSOR_DISABLED`.
-
-@code
-glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_DISABLED);
-@endcode
-
-This will hide the cursor and lock it to the specified window. GLFW will then
-take care of all the details of cursor re-centering and offset calculation and
-providing the application with a virtual cursor position. This virtual position
-is provided normally via both the cursor position callback and through polling.
-
-@note You should not implement your own version of this functionality using
-other features of GLFW. It is not supported and will not work as robustly as
-`GLFW_CURSOR_DISABLED`.
-
-If you only wish the cursor to become hidden when it is over a window but still
-want it to behave normally, set the cursor mode to `GLFW_CURSOR_HIDDEN`.
-
-@code
-glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_HIDDEN);
-@endcode
-
-This mode puts no limit on the motion of the cursor.
-
-To exit out of either of these special modes, restore the `GLFW_CURSOR_NORMAL`
-cursor mode.
-
-@code
-glfwSetInputMode(window, GLFW_CURSOR, GLFW_CURSOR_NORMAL);
-@endcode
-
-
-@anchor GLFW_RAW_MOUSE_MOTION
-@subsection raw_mouse_motion Raw mouse motion
-
-When the cursor is disabled, raw (unscaled and unaccelerated) mouse motion can
-be enabled if available.
-
-Raw mouse motion is closer to the actual motion of the mouse across a surface.
-It is not affected by the scaling and acceleration applied to the motion of the
-desktop cursor. That processing is suitable for a cursor while raw motion is
-better for controlling for example a 3D camera. Because of this, raw mouse
-motion is only provided when the cursor is disabled.
-
-Call @ref glfwRawMouseMotionSupported to check if the current machine provides
-raw motion and set the `GLFW_RAW_MOUSE_MOTION` input mode to enable it. It is
-disabled by default.
-
-@code
-if (glfwRawMouseMotionSupported())
- glfwSetInputMode(window, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE);
-@endcode
-
-If supported, raw mouse motion can be enabled or disabled per-window and at any
-time but it will only be provided when the cursor is disabled.
-
-
-@subsection cursor_object Cursor objects
-
-GLFW supports creating both custom and system theme cursor images, encapsulated
-as @ref GLFWcursor objects. They are created with @ref glfwCreateCursor or @ref
-glfwCreateStandardCursor and destroyed with @ref glfwDestroyCursor, or @ref
-glfwTerminate, if any remain.
-
-
-@subsubsection cursor_custom Custom cursor creation
-
-A custom cursor is created with @ref glfwCreateCursor, which returns a handle to
-the created cursor object. For example, this creates a 16x16 white square
-cursor with the hot-spot in the upper-left corner:
-
-@code
-unsigned char pixels[16 * 16 * 4];
-memset(pixels, 0xff, sizeof(pixels));
-
-GLFWimage image;
-image.width = 16;
-image.height = 16;
-image.pixels = pixels;
-
-GLFWcursor* cursor = glfwCreateCursor(&image, 0, 0);
-@endcode
-
-If cursor creation fails, `NULL` will be returned, so it is necessary to check
-the return value.
-
-The image data is 32-bit, little-endian, non-premultiplied RGBA, i.e. eight bits
-per channel with the red channel first. The pixels are arranged canonically as
-sequential rows, starting from the top-left corner.
-
-
-@subsubsection cursor_standard Standard cursor creation
-
-A cursor with a [standard shape](@ref shapes) from the current system cursor
-theme can be can be created with @ref glfwCreateStandardCursor.
-
-@code
-GLFWcursor* url_cursor = glfwCreateStandardCursor(GLFW_POINTING_HAND_CURSOR);
-@endcode
-
-These cursor objects behave in the exact same way as those created with @ref
-glfwCreateCursor except that the system cursor theme provides the actual image.
-
-A few of these shapes are not available everywhere. If a shape is unavailable,
-`NULL` is returned. See @ref glfwCreateStandardCursor for details.
-
-
-@subsubsection cursor_destruction Cursor destruction
-
-When a cursor is no longer needed, destroy it with @ref glfwDestroyCursor.
-
-@code
-glfwDestroyCursor(cursor);
-@endcode
-
-Cursor destruction always succeeds. If the cursor is current for any window,
-that window will revert to the default cursor. This does not affect the cursor
-mode. All remaining cursors are destroyed when @ref glfwTerminate is called.
-
-
-@subsubsection cursor_set Cursor setting
-
-A cursor can be set as current for a window with @ref glfwSetCursor.
-
-@code
-glfwSetCursor(window, cursor);
-@endcode
-
-Once set, the cursor image will be used as long as the system cursor is over the
-content area of the window and the [cursor mode](@ref cursor_mode) is set
-to `GLFW_CURSOR_NORMAL`.
-
-A single cursor may be set for any number of windows.
-
-To revert to the default cursor, set the cursor of that window to `NULL`.
-
-@code
-glfwSetCursor(window, NULL);
-@endcode
-
-When a cursor is destroyed, any window that has it set will revert to the
-default cursor. This does not affect the cursor mode.
-
-
-@subsection cursor_enter Cursor enter/leave events
-
-If you wish to be notified when the cursor enters or leaves the content area of
-a window, set a cursor enter/leave callback.
-
-@code
-glfwSetCursorEnterCallback(window, cursor_enter_callback);
-@endcode
-
-The callback function receives the new classification of the cursor.
-
-@code
-void cursor_enter_callback(GLFWwindow* window, int entered)
-{
- if (entered)
- {
- // The cursor entered the content area of the window
- }
- else
- {
- // The cursor left the content area of the window
- }
-}
-@endcode
-
-You can query whether the cursor is currently inside the content area of the
-window with the [GLFW_HOVERED](@ref GLFW_HOVERED_attrib) window attribute.
-
-@code
-if (glfwGetWindowAttrib(window, GLFW_HOVERED))
-{
- highlight_interface();
-}
-@endcode
-
-
-@subsection input_mouse_button Mouse button input
-
-If you wish to be notified when a mouse button is pressed or released, set
-a mouse button callback.
-
-@code
-glfwSetMouseButtonCallback(window, mouse_button_callback);
-@endcode
-
-The callback function receives the [mouse button](@ref buttons), button action
-and [modifier bits](@ref mods).
-
-@code
-void mouse_button_callback(GLFWwindow* window, int button, int action, int mods)
-{
- if (button == GLFW_MOUSE_BUTTON_RIGHT && action == GLFW_PRESS)
- popup_menu();
-}
-@endcode
-
-The action is one of `GLFW_PRESS` or `GLFW_RELEASE`.
-
-Mouse button states for [named buttons](@ref buttons) are also saved in
-per-window state arrays that can be polled with @ref glfwGetMouseButton.
-
-@code
-int state = glfwGetMouseButton(window, GLFW_MOUSE_BUTTON_LEFT);
-if (state == GLFW_PRESS)
-{
- upgrade_cow();
-}
-@endcode
-
-The returned state is one of `GLFW_PRESS` or `GLFW_RELEASE`.
-
-This function only returns cached mouse button event state. It does not poll
-the system for the current state of the mouse button.
-
-@anchor GLFW_STICKY_MOUSE_BUTTONS
-Whenever you poll state, you risk missing the state change you are looking for.
-If a pressed mouse button is released again before you poll its state, you will have
-missed the button press. The recommended solution for this is to use a
-mouse button callback, but there is also the `GLFW_STICKY_MOUSE_BUTTONS`
-input mode.
-
-@code
-glfwSetInputMode(window, GLFW_STICKY_MOUSE_BUTTONS, GLFW_TRUE);
-@endcode
-
-When sticky mouse buttons mode is enabled, the pollable state of a mouse button
-will remain `GLFW_PRESS` until the state of that button is polled with @ref
-glfwGetMouseButton. Once it has been polled, if a mouse button release event
-had been processed in the meantime, the state will reset to `GLFW_RELEASE`,
-otherwise it will remain `GLFW_PRESS`.
-
-The `GLFW_MOUSE_BUTTON_LAST` constant holds the highest value of any
-[named button](@ref buttons).
-
-
-@subsection scrolling Scroll input
-
-If you wish to be notified when the user scrolls, whether with a mouse wheel or
-touchpad gesture, set a scroll callback.
-
-@code
-glfwSetScrollCallback(window, scroll_callback);
-@endcode
-
-The callback function receives two-dimensional scroll offsets.
-
-@code
-void scroll_callback(GLFWwindow* window, double xoffset, double yoffset)
-{
-}
-@endcode
-
-A normal mouse wheel, being vertical, provides offsets along the Y-axis.
-
-
-@section joystick Joystick input
-
-The joystick functions expose connected joysticks and controllers, with both
-referred to as joysticks. It supports up to sixteen joysticks, ranging from
-`GLFW_JOYSTICK_1`, `GLFW_JOYSTICK_2` up to and including `GLFW_JOYSTICK_16` or
-`GLFW_JOYSTICK_LAST`. You can test whether a [joystick](@ref joysticks) is
-present with @ref glfwJoystickPresent.
-
-@code
-int present = glfwJoystickPresent(GLFW_JOYSTICK_1);
-@endcode
-
-Each joystick has zero or more axes, zero or more buttons, zero or more hats,
-a human-readable name, a user pointer and an SDL compatible GUID.
-
-Detected joysticks are added to the beginning of the array. Once a joystick is
-detected, it keeps its assigned ID until it is disconnected or the library is
-terminated, so as joysticks are connected and disconnected, there may appear
-gaps in the IDs.
-
-Joystick axis, button and hat state is updated when polled and does not require
-a window to be created or events to be processed. However, if you want joystick
-connection and disconnection events reliably delivered to the
-[joystick callback](@ref joystick_event) then you must
-[process events](@ref events).
-
-To see all the properties of all connected joysticks in real-time, run the
-`joysticks` test program.
-
-
-@subsection joystick_axis Joystick axis states
-
-The positions of all axes of a joystick are returned by @ref
-glfwGetJoystickAxes. See the reference documentation for the lifetime of the
-returned array.
-
-@code
-int count;
-const float* axes = glfwGetJoystickAxes(GLFW_JOYSTICK_5, &count);
-@endcode
-
-Each element in the returned array is a value between -1.0 and 1.0.
-
-
-@subsection joystick_button Joystick button states
-
-The states of all buttons of a joystick are returned by @ref
-glfwGetJoystickButtons. See the reference documentation for the lifetime of the
-returned array.
-
-@code
-int count;
-const unsigned char* buttons = glfwGetJoystickButtons(GLFW_JOYSTICK_3, &count);
-@endcode
-
-Each element in the returned array is either `GLFW_PRESS` or `GLFW_RELEASE`.
-
-For backward compatibility with earlier versions that did not have @ref
-glfwGetJoystickHats, the button array by default also includes all hats. See
-the reference documentation for @ref glfwGetJoystickButtons for details.
-
-
-@subsection joystick_hat Joystick hat states
-
-The states of all hats are returned by @ref glfwGetJoystickHats. See the
-reference documentation for the lifetime of the returned array.
-
-@code
-int count;
-const unsigned char* hats = glfwGetJoystickHats(GLFW_JOYSTICK_7, &count);
-@endcode
-
-Each element in the returned array is one of the following:
-
-Name | Value
----- | -----
-`GLFW_HAT_CENTERED` | 0
-`GLFW_HAT_UP` | 1
-`GLFW_HAT_RIGHT` | 2
-`GLFW_HAT_DOWN` | 4
-`GLFW_HAT_LEFT` | 8
-`GLFW_HAT_RIGHT_UP` | `GLFW_HAT_RIGHT` \| `GLFW_HAT_UP`
-`GLFW_HAT_RIGHT_DOWN` | `GLFW_HAT_RIGHT` \| `GLFW_HAT_DOWN`
-`GLFW_HAT_LEFT_UP` | `GLFW_HAT_LEFT` \| `GLFW_HAT_UP`
-`GLFW_HAT_LEFT_DOWN` | `GLFW_HAT_LEFT` \| `GLFW_HAT_DOWN`
-
-The diagonal directions are bitwise combinations of the primary (up, right, down
-and left) directions and you can test for these individually by ANDing it with
-the corresponding direction.
-
-@code
-if (hats[2] & GLFW_HAT_RIGHT)
-{
- // State of hat 2 could be right-up, right or right-down
-}
-@endcode
-
-For backward compatibility with earlier versions that did not have @ref
-glfwGetJoystickHats, all hats are by default also included in the button array.
-See the reference documentation for @ref glfwGetJoystickButtons for details.
-
-
-@subsection joystick_name Joystick name
-
-The human-readable, UTF-8 encoded name of a joystick is returned by @ref
-glfwGetJoystickName. See the reference documentation for the lifetime of the
-returned string.
-
-@code
-const char* name = glfwGetJoystickName(GLFW_JOYSTICK_4);
-@endcode
-
-Joystick names are not guaranteed to be unique. Two joysticks of the same model
-and make may have the same name. Only the [joystick ID](@ref joysticks) is
-guaranteed to be unique, and only until that joystick is disconnected.
-
-
-@subsection joystick_userptr Joystick user pointer
-
-Each joystick has a user pointer that can be set with @ref
-glfwSetJoystickUserPointer and queried with @ref glfwGetJoystickUserPointer.
-This can be used for any purpose you need and will not be modified by GLFW. The
-value will be kept until the joystick is disconnected or until the library is
-terminated.
-
-The initial value of the pointer is `NULL`.
-
-
-@subsection joystick_event Joystick configuration changes
-
-If you wish to be notified when a joystick is connected or disconnected, set
-a joystick callback.
-
-@code
-glfwSetJoystickCallback(joystick_callback);
-@endcode
-
-The callback function receives the ID of the joystick that has been connected
-and disconnected and the event that occurred.
-
-@code
-void joystick_callback(int jid, int event)
-{
- if (event == GLFW_CONNECTED)
- {
- // The joystick was connected
- }
- else if (event == GLFW_DISCONNECTED)
- {
- // The joystick was disconnected
- }
-}
-@endcode
-
-For joystick connection and disconnection events to be delivered on all
-platforms, you need to call one of the [event processing](@ref events)
-functions. Joystick disconnection may also be detected and the callback
-called by joystick functions. The function will then return whatever it
-returns for a disconnected joystick.
-
-Only @ref glfwGetJoystickName and @ref glfwGetJoystickUserPointer will return
-useful values for a disconnected joystick and only before the monitor callback
-returns.
-
-
-@subsection gamepad Gamepad input
-
-The joystick functions provide unlabeled axes, buttons and hats, with no
-indication of where they are located on the device. Their order may also vary
-between platforms even with the same device.
-
-To solve this problem the SDL community crowdsourced the
-[SDL_GameControllerDB](https://github.com/gabomdq/SDL_GameControllerDB) project,
-a database of mappings from many different devices to an Xbox-like gamepad.
-
-GLFW supports this mapping format and contains a copy of the mappings
-available at the time of release. See @ref gamepad_mapping for how to update
-this at runtime. Mappings will be assigned to joysticks automatically any time
-a joystick is connected or the mappings are updated.
-
-You can check whether a joystick is both present and has a gamepad mapping with
-@ref glfwJoystickIsGamepad.
-
-@code
-if (glfwJoystickIsGamepad(GLFW_JOYSTICK_2))
-{
- // Use as gamepad
-}
-@endcode
-
-If you are only interested in gamepad input you can use this function instead of
-@ref glfwJoystickPresent.
-
-You can query the human-readable name provided by the gamepad mapping with @ref
-glfwGetGamepadName. This may or may not be the same as the
-[joystick name](@ref joystick_name).
-
-@code
-const char* name = glfwGetGamepadName(GLFW_JOYSTICK_7);
-@endcode
-
-To retrieve the gamepad state of a joystick, call @ref glfwGetGamepadState.
-
-@code
-GLFWgamepadstate state;
-
-if (glfwGetGamepadState(GLFW_JOYSTICK_3, &state))
-{
- if (state.buttons[GLFW_GAMEPAD_BUTTON_A])
- {
- input_jump();
- }
-
- input_speed(state.axes[GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER]);
-}
-@endcode
-
-The @ref GLFWgamepadstate struct has two arrays; one for button states and one
-for axis states. The values for each button and axis are the same as for the
-@ref glfwGetJoystickButtons and @ref glfwGetJoystickAxes functions, i.e.
-`GLFW_PRESS` or `GLFW_RELEASE` for buttons and -1.0 to 1.0 inclusive for axes.
-
-The sizes of the arrays and the positions within each array are fixed.
-
-The [button indices](@ref gamepad_buttons) are `GLFW_GAMEPAD_BUTTON_A`,
-`GLFW_GAMEPAD_BUTTON_B`, `GLFW_GAMEPAD_BUTTON_X`, `GLFW_GAMEPAD_BUTTON_Y`,
-`GLFW_GAMEPAD_BUTTON_LEFT_BUMPER`, `GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER`,
-`GLFW_GAMEPAD_BUTTON_BACK`, `GLFW_GAMEPAD_BUTTON_START`,
-`GLFW_GAMEPAD_BUTTON_GUIDE`, `GLFW_GAMEPAD_BUTTON_LEFT_THUMB`,
-`GLFW_GAMEPAD_BUTTON_RIGHT_THUMB`, `GLFW_GAMEPAD_BUTTON_DPAD_UP`,
-`GLFW_GAMEPAD_BUTTON_DPAD_RIGHT`, `GLFW_GAMEPAD_BUTTON_DPAD_DOWN` and
-`GLFW_GAMEPAD_BUTTON_DPAD_LEFT`.
-
-For those who prefer, there are also the `GLFW_GAMEPAD_BUTTON_CROSS`,
-`GLFW_GAMEPAD_BUTTON_CIRCLE`, `GLFW_GAMEPAD_BUTTON_SQUARE` and
-`GLFW_GAMEPAD_BUTTON_TRIANGLE` aliases for the A, B, X and Y button indices.
-
-The [axis indices](@ref gamepad_axes) are `GLFW_GAMEPAD_AXIS_LEFT_X`,
-`GLFW_GAMEPAD_AXIS_LEFT_Y`, `GLFW_GAMEPAD_AXIS_RIGHT_X`,
-`GLFW_GAMEPAD_AXIS_RIGHT_Y`, `GLFW_GAMEPAD_AXIS_LEFT_TRIGGER` and
-`GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER`.
-
-The `GLFW_GAMEPAD_BUTTON_LAST` and `GLFW_GAMEPAD_AXIS_LAST` constants equal
-the largest available index for each array.
-
-
-@subsection gamepad_mapping Gamepad mappings
-
-GLFW contains a copy of the mappings available in
-[SDL_GameControllerDB](https://github.com/gabomdq/SDL_GameControllerDB) at the
-time of release. Newer ones can be added at runtime with @ref
-glfwUpdateGamepadMappings.
-
-@code
-const char* mappings = load_file_contents("game/data/gamecontrollerdb.txt");
-
-glfwUpdateGamepadMappings(mappings);
-@endcode
-
-This function supports everything from single lines up to and including the
-unmodified contents of the whole `gamecontrollerdb.txt` file.
-
-If you are compiling GLFW from source with CMake you can update the built-in mappings by
-building the _update_mappings_ target. This runs the `GenerateMappings.cmake` CMake
-script, which downloads `gamecontrollerdb.txt` and regenerates the `mappings.h` header
-file.
-
-Below is a description of the mapping format. Please keep in mind that __this
-description is not authoritative__. The format is defined by the SDL and
-SDL_GameControllerDB projects and their documentation and code takes precedence.
-
-Each mapping is a single line of comma-separated values describing the GUID,
-name and layout of the gamepad. Lines that do not begin with a hexadecimal
-digit are ignored.
-
-The first value is always the gamepad GUID, a 32 character long hexadecimal
-string that typically identifies its make, model, revision and the type of
-connection to the computer. When this information is not available, the GUID is
-generated using the gamepad name. GLFW uses the SDL 2.0.5+ GUID format but can
-convert from the older formats.
-
-The second value is always the human-readable name of the gamepad.
-
-All subsequent values are in the form `<field>:<value>` and describe the layout
-of the mapping. These fields may not all be present and may occur in any order.
-
-The button fields are `a`, `b`, `x`, `y`, `back`, `start`, `guide`, `dpup`,
-`dpright`, `dpdown`, `dpleft`, `leftshoulder`, `rightshoulder`, `leftstick` and
-`rightstick`.
-
-The axis fields are `leftx`, `lefty`, `rightx`, `righty`, `lefttrigger` and
-`righttrigger`.
-
-The value of an axis or button field can be a joystick button, a joystick axis,
-a hat bitmask or empty. Joystick buttons are specified as `bN`, for example
-`b2` for the third button. Joystick axes are specified as `aN`, for example
-`a7` for the eighth button. Joystick hat bit masks are specified as `hN.N`, for
-example `h0.8` for left on the first hat. More than one bit may be set in the
-mask.
-
-Before an axis there may be a `+` or `-` range modifier, for example `+a3` for
-the positive half of the fourth axis. This restricts input to only the positive
-or negative halves of the joystick axis. After an axis or half-axis there may
-be the `~` inversion modifier, for example `a2~` or `-a7~`. This negates the
-values of the gamepad axis.
-
-The hat bit mask match the [hat states](@ref hat_state) in the joystick
-functions.
-
-There is also the special `platform` field that specifies which platform the
-mapping is valid for. Possible values are `Windows`, `Mac OS X` and `Linux`.
-
-Below is an example of what a gamepad mapping might look like. It is the
-one built into GLFW for Xbox controllers accessed via the XInput API on Windows.
-This example has been broken into several lines to fit on the page, but real
-gamepad mappings must be a single line.
-
-@code{.unparsed}
-78696e70757401000000000000000000,XInput Gamepad (GLFW),platform:Windows,a:b0,
-b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8,
-rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,
-righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,
-@endcode
-
-@note GLFW does not yet support the output range and modifiers `+` and `-` that
-were recently added to SDL. The input modifiers `+`, `-` and `~` are supported
-and described above.
-
-
-@section time Time input
-
-GLFW provides high-resolution time input, in seconds, with @ref glfwGetTime.
-
-@code
-double seconds = glfwGetTime();
-@endcode
-
-It returns the number of seconds since the library was initialized with @ref
-glfwInit. The platform-specific time sources used typically have micro- or
-nanosecond resolution.
-
-You can modify the base time with @ref glfwSetTime.
-
-@code
-glfwSetTime(4.0);
-@endcode
-
-This sets the time to the specified time, in seconds, and it continues to count
-from there.
-
-You can also access the raw timer used to implement the functions above,
-with @ref glfwGetTimerValue.
-
-@code
-uint64_t value = glfwGetTimerValue();
-@endcode
-
-This value is in 1&nbsp;/&nbsp;frequency seconds. The frequency of the raw
-timer varies depending on the operating system and hardware. You can query the
-frequency, in Hz, with @ref glfwGetTimerFrequency.
-
-@code
-uint64_t frequency = glfwGetTimerFrequency();
-@endcode
-
-
-@section clipboard Clipboard input and output
-
-If the system clipboard contains a UTF-8 encoded string or if it can be
-converted to one, you can retrieve it with @ref glfwGetClipboardString. See the
-reference documentation for the lifetime of the returned string.
-
-@code
-const char* text = glfwGetClipboardString(NULL);
-if (text)
-{
- insert_text(text);
-}
-@endcode
-
-If the clipboard is empty or if its contents could not be converted, `NULL` is
-returned.
-
-The contents of the system clipboard can be set to a UTF-8 encoded string with
-@ref glfwSetClipboardString.
-
-@code
-glfwSetClipboardString(NULL, "A string with words in it");
-@endcode
-
-
-@section path_drop Path drop input
-
-If you wish to receive the paths of files and/or directories dropped on
-a window, set a file drop callback.
-
-@code
-glfwSetDropCallback(window, drop_callback);
-@endcode
-
-The callback function receives an array of paths encoded as UTF-8.
-
-@code
-void drop_callback(GLFWwindow* window, int count, const char** paths)
-{
- int i;
- for (i = 0; i < count; i++)
- handle_dropped_file(paths[i]);
-}
-@endcode
-
-The path array and its strings are only valid until the file drop callback
-returns, as they may have been generated specifically for that event. You need
-to make a deep copy of the array if you want to keep the paths.
-
-*/
diff --git a/3rdparty/glfw/source/docs/internal.dox b/3rdparty/glfw/source/docs/internal.dox
deleted file mode 100644
index 6922756..0000000
--- a/3rdparty/glfw/source/docs/internal.dox
+++ /dev/null
@@ -1,123 +0,0 @@
-/*!
-
-@page internals_guide Internal structure
-
-@tableofcontents
-
-There are several interfaces inside GLFW. Each interface has its own area of
-responsibility and its own naming conventions.
-
-
-@section internals_public Public interface
-
-The most well-known is the public interface, described in the glfw3.h header
-file. This is implemented in source files shared by all platforms and these
-files contain no platform-specific code. This code usually ends up calling the
-platform and internal interfaces to do the actual work.
-
-The public interface uses the OpenGL naming conventions except with GLFW and
-glfw instead of GL and gl. For struct members, where OpenGL sets no precedent,
-it use headless camel case.
-
-Examples: `glfwCreateWindow`, `GLFWwindow`, `GLFW_RED_BITS`
-
-
-@section internals_native Native interface
-
-The [native interface](@ref native) is a small set of publicly available
-but platform-specific functions, described in the glfw3native.h header file and
-used to gain access to the underlying window, context and (on some platforms)
-display handles used by the platform interface.
-
-The function names of the native interface are similar to those of the public
-interface, but embeds the name of the interface that the returned handle is
-from.
-
-Examples: `glfwGetX11Window`, `glfwGetWGLContext`
-
-
-@section internals_internal Internal interface
-
-The internal interface consists of utility functions used by all other
-interfaces. It is shared code implemented in the same shared source files as
-the public and event interfaces. The internal interface is described in the
-internal.h header file.
-
-The internal interface is in charge of GLFW's global data, which it stores in
-a `_GLFWlibrary` struct named `_glfw`.
-
-The internal interface uses the same style as the public interface, except all
-global names have a leading underscore.
-
-Examples: `_glfwIsValidContextConfig`, `_GLFWwindow`, `_glfw.monitorCount`
-
-
-@section internals_platform Platform interface
-
-The platform interface implements all platform-specific operations as a service
-to the public interface. This includes event processing. The platform
-interface is never directly called by application code and never directly calls
-application-provided callbacks. It is also prohibited from modifying the
-platform-independent part of the internal structs. Instead, it calls the event
-interface when events interesting to GLFW are received.
-
-The platform interface mostly mirrors those parts of the public interface that needs to
-perform platform-specific operations on some or all platforms.
-
-The window system bits of the platform API is called through the `_GLFWplatform` struct of
-function pointers, to allow runtime selection of platform. This includes the window and
-context creation, input and event processing, monitor and Vulkan surface creation parts of
-GLFW. This is located in the global `_glfw` struct.
-
-Examples: `_glfw.platform.createWindow`
-
-The timer, threading and module loading bits of the platform API are plain functions with
-a `_glfwPlatform` prefix, as these things are independent of what window system is being
-used.
-
-Examples: `_glfwPlatformGetTimerValue`
-
-The platform interface also defines structs that contain platform-specific
-global and per-object state. Their names mirror those of the internal
-interface, except that an interface-specific suffix is added.
-
-Examples: `_GLFWwindowX11`, `_GLFWcontextWGL`
-
-These structs are incorporated as members into the internal interface structs
-using special macros that name them after the specific interface used. This
-prevents shared code from accidentally using these members.
-
-Examples: `window->win32.handle`, `_glfw.x11.display`
-
-
-@section internals_event Event interface
-
-The event interface is implemented in the same shared source files as the public
-interface and is responsible for delivering the events it receives to the
-application, either via callbacks, via window state changes or both.
-
-The function names of the event interface use a `_glfwInput` prefix and the
-ObjectEvent pattern.
-
-Examples: `_glfwInputWindowFocus`, `_glfwInputCursorPos`
-
-
-@section internals_static Static functions
-
-Static functions may be used by any interface and have no prefixes or suffixes.
-These use headless camel case.
-
-Examples: `isValidElementForJoystick`
-
-
-@section internals_config Configuration macros
-
-GLFW uses a number of configuration macros to select at compile time which
-interfaces and code paths to use. They are defined in the GLFW CMake target.
-
-Configuration macros the same style as tokens in the public interface, except
-with a leading underscore.
-
-Examples: `_GLFW_WIN32`, `_GLFW_BUILD_DLL`
-
-*/
diff --git a/3rdparty/glfw/source/docs/intro.dox b/3rdparty/glfw/source/docs/intro.dox
deleted file mode 100644
index 5cbd7eb..0000000
--- a/3rdparty/glfw/source/docs/intro.dox
+++ /dev/null
@@ -1,619 +0,0 @@
-/*!
-
-@page intro_guide Introduction to the API
-
-@tableofcontents
-
-This guide introduces the basic concepts of GLFW and describes initialization,
-error handling and API guarantees and limitations. For a broad but shallow
-tutorial, see @ref quick_guide instead. For details on a specific function in
-this category, see the @ref init.
-
-There are also guides for the other areas of GLFW.
-
- - @ref window_guide
- - @ref context_guide
- - @ref vulkan_guide
- - @ref monitor_guide
- - @ref input_guide
-
-
-@section intro_init Initialization and termination
-
-Before most GLFW functions may be called, the library must be initialized.
-This initialization checks what features are available on the machine,
-enumerates monitors, initializes the timer and performs any required
-platform-specific initialization.
-
-Only the following functions may be called before the library has been
-successfully initialized, and only from the main thread.
-
- - @ref glfwGetVersion
- - @ref glfwGetVersionString
- - @ref glfwPlatformSupported
- - @ref glfwGetError
- - @ref glfwSetErrorCallback
- - @ref glfwInitHint
- - @ref glfwInitAllocator
- - @ref glfwInitVulkanLoader
- - @ref glfwInit
- - @ref glfwTerminate
-
-Calling any other function before successful initialization will cause a @ref
-GLFW_NOT_INITIALIZED error.
-
-
-@subsection intro_init_init Initializing GLFW
-
-The library is initialized with @ref glfwInit, which returns `GLFW_FALSE` if an
-error occurred.
-
-@code
-if (!glfwInit())
-{
- // Handle initialization failure
-}
-@endcode
-
-If any part of initialization fails, any parts that succeeded are terminated as
-if @ref glfwTerminate had been called. The library only needs to be initialized
-once and additional calls to an already initialized library will return
-`GLFW_TRUE` immediately.
-
-Once the library has been successfully initialized, it should be terminated
-before the application exits. Modern systems are very good at freeing resources
-allocated by programs that exit, but GLFW sometimes has to change global system
-settings and these might not be restored without termination.
-
-@macos When the library is initialized the main menu and dock icon are created.
-These are not desirable for a command-line only program. The creation of the
-main menu and dock icon can be disabled with the @ref GLFW_COCOA_MENUBAR init
-hint.
-
-
-@subsection init_hints Initialization hints
-
-Initialization hints are set before @ref glfwInit and affect how the library
-behaves until termination. Hints are set with @ref glfwInitHint.
-
-@code
-glfwInitHint(GLFW_JOYSTICK_HAT_BUTTONS, GLFW_FALSE);
-@endcode
-
-The values you set hints to are never reset by GLFW, but they only take effect
-during initialization. Once GLFW has been initialized, any values you set will
-be ignored until the library is terminated and initialized again.
-
-Some hints are platform specific. These may be set on any platform but they
-will only affect their specific platform. Other platforms will ignore them.
-Setting these hints requires no platform specific headers or functions.
-
-
-@subsubsection init_hints_shared Shared init hints
-
-@anchor GLFW_PLATFORM
-__GLFW_PLATFORM__ specifies the platform to use for windowing and input.
-Possible values are `GLFW_ANY_PLATFORM`, `GLFW_PLATFORM_WIN32`,
-`GLFW_PLATFORM_COCOA`, `GLFW_PLATFORM_X11`, `GLFW_PLATFORM_WAYLAND` and
-`GLFW_PLATFORM_NULL`. The default value is `GLFW_ANY_PLATFORM`, which will
-choose any platform the library includes support for except for the Null
-backend.
-
-
-@anchor GLFW_JOYSTICK_HAT_BUTTONS
-__GLFW_JOYSTICK_HAT_BUTTONS__ specifies whether to also expose joystick hats as
-buttons, for compatibility with earlier versions of GLFW that did not have @ref
-glfwGetJoystickHats. Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
-
-@anchor GLFW_ANGLE_PLATFORM_TYPE_hint
-__GLFW_ANGLE_PLATFORM_TYPE__ specifies the platform type (rendering backend) to
-request when using OpenGL ES and EGL via
-[ANGLE](https://chromium.googlesource.com/angle/angle/). If the requested
-platform type is unavailable, ANGLE will use its default. Possible values are
-one of `GLFW_ANGLE_PLATFORM_TYPE_NONE`, `GLFW_ANGLE_PLATFORM_TYPE_OPENGL`,
-`GLFW_ANGLE_PLATFORM_TYPE_OPENGLES`, `GLFW_ANGLE_PLATFORM_TYPE_D3D9`,
-`GLFW_ANGLE_PLATFORM_TYPE_D3D11`, `GLFW_ANGLE_PLATFORM_TYPE_VULKAN` and
-`GLFW_ANGLE_PLATFORM_TYPE_METAL`.
-
-The ANGLE platform type is specified via the `EGL_ANGLE_platform_angle`
-extension. This extension is not used if this hint is
-`GLFW_ANGLE_PLATFORM_TYPE_NONE`, which is the default value.
-
-
-@subsubsection init_hints_osx macOS specific init hints
-
-@anchor GLFW_COCOA_CHDIR_RESOURCES_hint
-__GLFW_COCOA_CHDIR_RESOURCES__ specifies whether to set the current directory to
-the application to the `Contents/Resources` subdirectory of the application's
-bundle, if present. Possible values are `GLFW_TRUE` and `GLFW_FALSE`. This is
-ignored on other platforms.
-
-@anchor GLFW_COCOA_MENUBAR_hint
-__GLFW_COCOA_MENUBAR__ specifies whether to create the menu bar and dock icon
-when GLFW is initialized. This applies whether the menu bar is created from
-a nib or manually by GLFW. Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
-This is ignored on other platforms.
-
-
-@subsubsection init_hints_x11 X11 specific init hints
-
-@anchor GLFW_X11_XCB_VULKAN_SURFACE_hint
-__GLFW_X11_XCB_VULKAN_SURFACE__ specifies whether to prefer the
-`VK_KHR_xcb_surface` extension for creating Vulkan surfaces, or whether to use
-the `VK_KHR_xlib_surface` extension. Possible values are `GLFW_TRUE` and
-`GLFW_FALSE`. This is ignored on other platforms.
-
-
-@subsubsection init_hints_values Supported and default values
-
-Initialization hint | Default value | Supported values
--------------------------------- | ------------------------------- | ----------------
-@ref GLFW_PLATFORM | `GLFW_ANY_PLATFORM` | `GLFW_ANY_PLATFORM`, `GLFW_PLATFORM_WIN32`, `GLFW_PLATFORM_COCOA`, `GLFW_PLATFORM_X11`, `GLFW_PLATFORM_WAYLAND` or `GLFW_PLATFORM_NULL`
-@ref GLFW_JOYSTICK_HAT_BUTTONS | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-@ref GLFW_ANGLE_PLATFORM_TYPE | `GLFW_ANGLE_PLATFORM_TYPE_NONE` | `GLFW_ANGLE_PLATFORM_TYPE_NONE`, `GLFW_ANGLE_PLATFORM_TYPE_OPENGL`, `GLFW_ANGLE_PLATFORM_TYPE_OPENGLES`, `GLFW_ANGLE_PLATFORM_TYPE_D3D9`, `GLFW_ANGLE_PLATFORM_TYPE_D3D11`, `GLFW_ANGLE_PLATFORM_TYPE_VULKAN` or `GLFW_ANGLE_PLATFORM_TYPE_METAL`
-@ref GLFW_COCOA_CHDIR_RESOURCES | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-@ref GLFW_COCOA_MENUBAR | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-@ref GLFW_X11_XCB_VULKAN_SURFACE | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-
-
-@subsection platform Runtime platform selection
-
-GLFW can be compiled for more than one platform (window system) at once. This lets
-a single library binary support both X11 and Wayland on Linux and other Unix-like systems.
-
-You can control platform selection via the @ref GLFW_PLATFORM initialization hint. By
-default this is set to @ref GLFW_ANY_PLATFORM, which will look for supported window
-systems in order of priority and select the first one it finds. It can also be set to any
-specific platform to have GLFW only look for that one.
-
-@code
-glfwInitHint(GLFW_PLATFORM, GLFW_PLATFORM_X11);
-@endcode
-
-This mechanism also provides the Null platform, which is always supported but needs to be
-explicitly requested. This platform is effectively a stub, emulating a window system on
-a single 1080p monitor, but will not interact with any actual window system.
-
-@code
-glfwInitHint(GLFW_PLATFORM, GLFW_PLATFORM_NULL);
-@endcode
-
-You can test whether a library binary was compiled with support for a specific platform
-with @ref glfwPlatformSupported.
-
-@code
-if (glfwPlatformSupported(GLFW_PLATFORM_WAYLAND))
- glfwInitHint(GLFW_PLATFORM, GLFW_PLATFORM_WAYLAND);
-@endcode
-
-Once GLFW has been initialized, you can query which platform was selected with @ref
-glfwGetPlatform.
-
-@code
-int platform = glfwGetPlatform();
-@endcode
-
-If you are using any [native access functions](@ref native), especially on Linux and other
-Unix-like systems, then you may need to check that you are calling the ones matching the
-selected platform.
-
-
-@subsection init_allocator Custom heap memory allocator
-
-The heap memory allocator can be customized before initialization with @ref
-glfwInitAllocator.
-
-@code
-GLFWallocator allocator;
-allocator.allocate = my_malloc;
-allocator.reallocate = my_realloc;
-allocator.deallocate = my_free;
-allocator.user = NULL;
-
-glfwInitAllocator(&allocator);
-@endcode
-
-The allocator will be picked up at the beginning of initialization and will be
-used until GLFW has been fully terminated. Any allocator set after
-initialization will be picked up only at the next initialization.
-
-The allocator will only be used for allocations that would have been made with
-the C standard library. Memory allocations that must be made with platform
-specific APIs will still use those.
-
-The allocation function must have a signature matching @ref GLFWallocatefun. It receives
-the desired size, in bytes, and the user pointer passed to @ref glfwInitAllocator and
-returns the address to the allocated memory block.
-
-@code
-void* my_malloc(size_t size, void* user)
-{
- ...
-}
-@endcode
-
-The reallocation function must have a function signature matching @ref GLFWreallocatefun.
-It receives the memory block to be reallocated, the new desired size, in bytes, and the user
-pointer passed to @ref glfwInitAllocator and returns the address to the resized memory
-block.
-
-@code
-void* my_realloc(void* block, size_t size, void* user)
-{
- ...
-}
-@endcode
-
-The deallocation function must have a function signature matching @ref GLFWdeallocatefun.
-It receives the memory block to be deallocated and the user pointer passed to @ref
-glfwInitAllocator.
-
-@code
-void my_free(void* block, void* user)
-{
- ...
-}
-@endcode
-
-
-@subsection intro_init_terminate Terminating GLFW
-
-Before your application exits, you should terminate the GLFW library if it has
-been initialized. This is done with @ref glfwTerminate.
-
-@code
-glfwTerminate();
-@endcode
-
-This will destroy any remaining window, monitor and cursor objects, restore any
-modified gamma ramps, re-enable the screensaver if it had been disabled and free
-any other resources allocated by GLFW.
-
-Once the library is terminated, it is as if it had never been initialized and
-you will need to initialize it again before being able to use GLFW. If the
-library was not initialized or had already been terminated, it return
-immediately.
-
-
-@section error_handling Error handling
-
-Some GLFW functions have return values that indicate an error, but this is often
-not very helpful when trying to figure out what happened or why it occurred.
-Other functions have no return value reserved for errors, so error notification
-needs a separate channel. Finally, far from all GLFW functions have return
-values.
-
-The last [error code](@ref errors) for the calling thread can be queried at any
-time with @ref glfwGetError.
-
-@code
-int code = glfwGetError(NULL);
-
-if (code != GLFW_NO_ERROR)
- handle_error(code);
-@endcode
-
-If no error has occurred since the last call, @ref GLFW_NO_ERROR (zero) is
-returned. The error is cleared before the function returns.
-
-The error code indicates the general category of the error. Some error codes,
-such as @ref GLFW_NOT_INITIALIZED has only a single meaning, whereas others like
-@ref GLFW_PLATFORM_ERROR are used for many different errors.
-
-GLFW often has more information about an error than its general category. You
-can retrieve a UTF-8 encoded human-readable description along with the error
-code. If no error has occurred since the last call, the description is set to
-`NULL`.
-
-@code
-const char* description;
-int code = glfwGetError(&description);
-
-if (description)
- display_error_message(code, description);
-@endcode
-
-The retrieved description string is only valid until the next error occurs.
-This means you must make a copy of it if you want to keep it.
-
-You can also set an error callback, which will be called each time an error
-occurs. It is set with @ref glfwSetErrorCallback.
-
-@code
-glfwSetErrorCallback(error_callback);
-@endcode
-
-The error callback receives the same error code and human-readable description
-returned by @ref glfwGetError.
-
-@code
-void error_callback(int code, const char* description)
-{
- display_error_message(code, description);
-}
-@endcode
-
-The error callback is called after the error is stored, so calling @ref
-glfwGetError from within the error callback returns the same values as the
-callback argument.
-
-The description string passed to the callback is only valid until the error
-callback returns. This means you must make a copy of it if you want to keep it.
-
-__Reported errors are never fatal.__ As long as GLFW was successfully
-initialized, it will remain initialized and in a safe state until terminated
-regardless of how many errors occur. If an error occurs during initialization
-that causes @ref glfwInit to fail, any part of the library that was initialized
-will be safely terminated.
-
-Do not rely on a currently invalid call to generate a specific error, as in the
-future that same call may generate a different error or become valid.
-
-
-@section coordinate_systems Coordinate systems
-
-GLFW has two primary coordinate systems: the _virtual screen_ and the window
-_content area_ or _content area_. Both use the same unit: _virtual screen
-coordinates_, or just _screen coordinates_, which don't necessarily correspond
-to pixels.
-
-<img src="spaces.svg" width="90%" />
-
-Both the virtual screen and the content area coordinate systems have the X-axis
-pointing to the right and the Y-axis pointing down.
-
-Window and monitor positions are specified as the position of the upper-left
-corners of their content areas relative to the virtual screen, while cursor
-positions are specified relative to a window's content area.
-
-Because the origin of the window's content area coordinate system is also the
-point from which the window position is specified, you can translate content
-area coordinates to the virtual screen by adding the window position. The
-window frame, when present, extends out from the content area but does not
-affect the window position.
-
-Almost all positions and sizes in GLFW are measured in screen coordinates
-relative to one of the two origins above. This includes cursor positions,
-window positions and sizes, window frame sizes, monitor positions and video mode
-resolutions.
-
-Two exceptions are the [monitor physical size](@ref monitor_size), which is
-measured in millimetres, and [framebuffer size](@ref window_fbsize), which is
-measured in pixels.
-
-Pixels and screen coordinates may map 1:1 on your machine, but they won't on
-every other machine, for example on a Mac with a Retina display. The ratio
-between screen coordinates and pixels may also change at run-time depending on
-which monitor the window is currently considered to be on.
-
-
-@section guarantees_limitations Guarantees and limitations
-
-This section describes the conditions under which GLFW can be expected to
-function, barring bugs in the operating system or drivers. Use of GLFW outside
-of these limits may work on some platforms, or on some machines, or some of the
-time, or on some versions of GLFW, but it may break at any time and this will
-not be considered a bug.
-
-
-@subsection lifetime Pointer lifetimes
-
-GLFW will never free any pointer you provide to it and you must never free any
-pointer it provides to you.
-
-Many GLFW functions return pointers to dynamically allocated structures, strings
-or arrays, and some callbacks are provided with strings or arrays. These are
-always managed by GLFW and should never be freed by the application. The
-lifetime of these pointers is documented for each GLFW function and callback.
-If you need to keep this data, you must copy it before its lifetime expires.
-
-Many GLFW functions accept pointers to structures or strings allocated by the
-application. These are never freed by GLFW and are always the responsibility of
-the application. If GLFW needs to keep the data in these structures or strings,
-it is copied before the function returns.
-
-Pointer lifetimes are guaranteed not to be shortened in future minor or patch
-releases.
-
-
-@subsection reentrancy Reentrancy
-
-GLFW event processing and object destruction are not reentrant. This means that
-the following functions must not be called from any callback function:
-
- - @ref glfwDestroyWindow
- - @ref glfwDestroyCursor
- - @ref glfwPollEvents
- - @ref glfwWaitEvents
- - @ref glfwWaitEventsTimeout
- - @ref glfwTerminate
-
-These functions may be made reentrant in future minor or patch releases, but
-functions not on this list will not be made non-reentrant.
-
-
-@subsection thread_safety Thread safety
-
-Most GLFW functions must only be called from the main thread (the thread that
-calls main), but some may be called from any thread once the library has been
-initialized. Before initialization the whole library is thread-unsafe.
-
-The reference documentation for every GLFW function states whether it is limited
-to the main thread.
-
-Initialization, termination, event processing and the creation and
-destruction of windows, cursors and OpenGL and OpenGL ES contexts are all
-restricted to the main thread due to limitations of one or several platforms.
-
-Because event processing must be performed on the main thread, all callbacks
-except for the error callback will only be called on that thread. The error
-callback may be called on any thread, as any GLFW function may generate errors.
-
-The error code and description may be queried from any thread.
-
- - @ref glfwGetError
-
-Empty events may be posted from any thread.
-
- - @ref glfwPostEmptyEvent
-
-The window user pointer and close flag may be read and written from any thread,
-but this is not synchronized by GLFW.
-
- - @ref glfwGetWindowUserPointer
- - @ref glfwSetWindowUserPointer
- - @ref glfwWindowShouldClose
- - @ref glfwSetWindowShouldClose
-
-These functions for working with OpenGL and OpenGL ES contexts may be called
-from any thread, but the window object is not synchronized by GLFW.
-
- - @ref glfwMakeContextCurrent
- - @ref glfwGetCurrentContext
- - @ref glfwSwapBuffers
- - @ref glfwSwapInterval
- - @ref glfwExtensionSupported
- - @ref glfwGetProcAddress
-
-The raw timer functions may be called from any thread.
-
- - @ref glfwGetTimerFrequency
- - @ref glfwGetTimerValue
-
-The regular timer may be used from any thread, but reading and writing the timer
-offset is not synchronized by GLFW.
-
- - @ref glfwGetTime
- - @ref glfwSetTime
-
-Library version information may be queried from any thread.
-
- - @ref glfwGetVersion
- - @ref glfwGetVersionString
-
-Platform information may be queried from any thread.
-
- - @ref glfwPlatformSupported
- - @ref glfwGetPlatform
-
-All Vulkan related functions may be called from any thread.
-
- - @ref glfwVulkanSupported
- - @ref glfwGetRequiredInstanceExtensions
- - @ref glfwGetInstanceProcAddress
- - @ref glfwGetPhysicalDevicePresentationSupport
- - @ref glfwCreateWindowSurface
-
-GLFW uses synchronization objects internally only to manage the per-thread
-context and error states. Additional synchronization is left to the
-application.
-
-Functions that may currently be called from any thread will always remain so,
-but functions that are currently limited to the main thread may be updated to
-allow calls from any thread in future releases.
-
-
-@subsection compatibility Version compatibility
-
-GLFW uses [Semantic Versioning](https://semver.org/). This guarantees source
-and binary backward compatibility with earlier minor versions of the API. This
-means that you can drop in a newer version of the library and existing programs
-will continue to compile and existing binaries will continue to run.
-
-Once a function or constant has been added, the signature of that function or
-value of that constant will remain unchanged until the next major version of
-GLFW. No compatibility of any kind is guaranteed between major versions.
-
-Undocumented behavior, i.e. behavior that is not described in the documentation,
-may change at any time until it is documented.
-
-If the reference documentation and the implementation differ, the reference
-documentation will almost always take precedence and the implementation will be
-fixed in the next release. The reference documentation will also take
-precedence over anything stated in a guide.
-
-
-@subsection event_order Event order
-
-The order of arrival of related events is not guaranteed to be consistent
-across platforms. The exception is synthetic key and mouse button release
-events, which are always delivered after the window defocus event.
-
-
-@section intro_version Version management
-
-GLFW provides mechanisms for identifying what version of GLFW your application
-was compiled against as well as what version it is currently running against.
-If you are loading GLFW dynamically (not just linking dynamically), you can use
-this to verify that the library binary is compatible with your application.
-
-
-@subsection intro_version_compile Compile-time version
-
-The compile-time version of GLFW is provided by the GLFW header with the
-`GLFW_VERSION_MAJOR`, `GLFW_VERSION_MINOR` and `GLFW_VERSION_REVISION` macros.
-
-@code
-printf("Compiled against GLFW %i.%i.%i\n",
- GLFW_VERSION_MAJOR,
- GLFW_VERSION_MINOR,
- GLFW_VERSION_REVISION);
-@endcode
-
-
-@subsection intro_version_runtime Run-time version
-
-The run-time version can be retrieved with @ref glfwGetVersion, a function that
-may be called regardless of whether GLFW is initialized.
-
-@code
-int major, minor, revision;
-glfwGetVersion(&major, &minor, &revision);
-
-printf("Running against GLFW %i.%i.%i\n", major, minor, revision);
-@endcode
-
-
-@subsection intro_version_string Version string
-
-GLFW 3 also provides a compile-time generated version string that describes the
-version, platform, compiler and any platform-specific compile-time options.
-This is primarily intended for submitting bug reports, to allow developers to
-see which code paths are enabled in a binary.
-
-The version string is returned by @ref glfwGetVersionString, a function that may
-be called regardless of whether GLFW is initialized.
-
-__Do not use the version string__ to parse the GLFW library version. The @ref
-glfwGetVersion function already provides the version of the running library
-binary.
-
-__Do not use the version string__ to parse what platforms are supported. The @ref
-glfwPlatformSupported function lets you query platform support.
-
-__GLFW 3.4:__ The format of this string was changed to support the addition of
-[runtime platform selection](@ref platform).
-
-The format of the string is as follows:
- - The version of GLFW
- - For each supported platform:
- - The name of the window system API
- - The name of the window system specific context creation API, if applicable
- - The names of the always supported context creation APIs EGL and OSMesa
- - Any additional compile-time options, APIs and (on Windows) what compiler was used
-
-For example, GLFW 3.4 compiled as a DLL for Windows with MinGW may have a version string
-like this:
-
-@code
-3.4.0 Win32 WGL Null EGL OSMesa MinGW DLL
-@endcode
-
-While GLFW compiled as as static library for Linux with both Wayland and X11 enabled may
-have a version string like this:
-
-@code
-3.4.0 Wayland X11 GLX Null EGL OSMesa monotonic
-@endcode
-
-*/
diff --git a/3rdparty/glfw/source/docs/main.dox b/3rdparty/glfw/source/docs/main.dox
deleted file mode 100644
index 995c2f5..0000000
--- a/3rdparty/glfw/source/docs/main.dox
+++ /dev/null
@@ -1,46 +0,0 @@
-/*!
-
-@mainpage notitle
-
-@section main_intro Introduction
-
-GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and
-Vulkan application development. It provides a simple, platform-independent API
-for creating windows, contexts and surfaces, reading input, handling events, etc.
-
-@ref news_34 list new features, caveats and deprecations.
-
-@ref quick_guide is a guide for users new to GLFW. It takes you through how to
-write a small but complete program.
-
-There are guides for each section of the API:
-
- - @ref intro_guide – initialization, error handling and high-level design
- - @ref window_guide – creating and working with windows and framebuffers
- - @ref context_guide – working with OpenGL and OpenGL ES contexts
- - @ref vulkan_guide - working with Vulkan objects and extensions
- - @ref monitor_guide – enumerating and working with monitors and video modes
- - @ref input_guide – receiving events, polling and processing input
-
-Once you have written a program, see @ref compile_guide and @ref build_guide.
-
-The [reference documentation](modules.html) provides more detailed information
-about specific functions.
-
-@ref moving_guide explains what has changed and how to update existing code to
-use the new API.
-
-There is a section on @ref guarantees_limitations for pointer lifetimes,
-reentrancy, thread safety, event order and backward and forward compatibility.
-
-The [FAQ](https://www.glfw.org/faq.html) answers many common questions about the
-design, implementation and use of GLFW.
-
-Finally, @ref compat_guide explains what APIs, standards and protocols GLFW uses
-and what happens when they are not present on a given machine.
-
-This documentation was generated with Doxygen. The sources for it are available
-in both the [source distribution](https://www.glfw.org/download.html) and
-[GitHub repository](https://github.com/glfw/glfw).
-
-*/
diff --git a/3rdparty/glfw/source/docs/monitor.dox b/3rdparty/glfw/source/docs/monitor.dox
deleted file mode 100644
index 86eb454..0000000
--- a/3rdparty/glfw/source/docs/monitor.dox
+++ /dev/null
@@ -1,268 +0,0 @@
-/*!
-
-@page monitor_guide Monitor guide
-
-@tableofcontents
-
-This guide introduces the monitor related functions of GLFW. For details on
-a specific function in this category, see the @ref monitor. There are also
-guides for the other areas of GLFW.
-
- - @ref intro_guide
- - @ref window_guide
- - @ref context_guide
- - @ref vulkan_guide
- - @ref input_guide
-
-
-@section monitor_object Monitor objects
-
-A monitor object represents a currently connected monitor and is represented as
-a pointer to the [opaque](https://en.wikipedia.org/wiki/Opaque_data_type) type
-@ref GLFWmonitor. Monitor objects cannot be created or destroyed by the
-application and retain their addresses until the monitors they represent are
-disconnected or until the library is [terminated](@ref intro_init_terminate).
-
-Each monitor has a current video mode, a list of supported video modes,
-a virtual position, a human-readable name, an estimated physical size and
-a gamma ramp. One of the monitors is the primary monitor.
-
-The virtual position of a monitor is in
-[screen coordinates](@ref coordinate_systems) and, together with the current
-video mode, describes the viewports that the connected monitors provide into the
-virtual desktop that spans them.
-
-To see how GLFW views your monitor setup and its available video modes, run the
-`monitors` test program.
-
-
-@subsection monitor_monitors Retrieving monitors
-
-The primary monitor is returned by @ref glfwGetPrimaryMonitor. It is the user's
-preferred monitor and is usually the one with global UI elements like task bar
-or menu bar.
-
-@code
-GLFWmonitor* primary = glfwGetPrimaryMonitor();
-@endcode
-
-You can retrieve all currently connected monitors with @ref glfwGetMonitors.
-See the reference documentation for the lifetime of the returned array.
-
-@code
-int count;
-GLFWmonitor** monitors = glfwGetMonitors(&count);
-@endcode
-
-The primary monitor is always the first monitor in the returned array, but other
-monitors may be moved to a different index when a monitor is connected or
-disconnected.
-
-
-@subsection monitor_event Monitor configuration changes
-
-If you wish to be notified when a monitor is connected or disconnected, set
-a monitor callback.
-
-@code
-glfwSetMonitorCallback(monitor_callback);
-@endcode
-
-The callback function receives the handle for the monitor that has been
-connected or disconnected and the event that occurred.
-
-@code
-void monitor_callback(GLFWmonitor* monitor, int event)
-{
- if (event == GLFW_CONNECTED)
- {
- // The monitor was connected
- }
- else if (event == GLFW_DISCONNECTED)
- {
- // The monitor was disconnected
- }
-}
-@endcode
-
-If a monitor is disconnected, all windows that are full screen on it will be
-switched to windowed mode before the callback is called. Only @ref
-glfwGetMonitorName and @ref glfwGetMonitorUserPointer will return useful values
-for a disconnected monitor and only before the monitor callback returns.
-
-
-@section monitor_properties Monitor properties
-
-Each monitor has a current video mode, a list of supported video modes,
-a virtual position, a content scale, a human-readable name, a user pointer, an
-estimated physical size and a gamma ramp.
-
-
-@subsection monitor_modes Video modes
-
-GLFW generally does a good job selecting a suitable video mode when you create
-a full screen window, change its video mode or make a windowed one full
-screen, but it is sometimes useful to know exactly which video modes are
-supported.
-
-Video modes are represented as @ref GLFWvidmode structures. You can get an
-array of the video modes supported by a monitor with @ref glfwGetVideoModes.
-See the reference documentation for the lifetime of the returned array.
-
-@code
-int count;
-GLFWvidmode* modes = glfwGetVideoModes(monitor, &count);
-@endcode
-
-To get the current video mode of a monitor call @ref glfwGetVideoMode. See the
-reference documentation for the lifetime of the returned pointer.
-
-@code
-const GLFWvidmode* mode = glfwGetVideoMode(monitor);
-@endcode
-
-The resolution of a video mode is specified in
-[screen coordinates](@ref coordinate_systems), not pixels.
-
-
-@subsection monitor_size Physical size
-
-The physical size of a monitor in millimetres, or an estimation of it, can be
-retrieved with @ref glfwGetMonitorPhysicalSize. This has no relation to its
-current _resolution_, i.e. the width and height of its current
-[video mode](@ref monitor_modes).
-
-@code
-int width_mm, height_mm;
-glfwGetMonitorPhysicalSize(monitor, &width_mm, &height_mm);
-@endcode
-
-While this can be used to calculate the raw DPI of a monitor, this is often not
-useful. Instead use the [monitor content scale](@ref monitor_scale) and
-[window content scale](@ref window_scale) to scale your content.
-
-
-@subsection monitor_scale Content scale
-
-The content scale for a monitor can be retrieved with @ref
-glfwGetMonitorContentScale.
-
-@code
-float xscale, yscale;
-glfwGetMonitorContentScale(monitor, &xscale, &yscale);
-@endcode
-
-The content scale is the ratio between the current DPI and the platform's
-default DPI. This is especially important for text and any UI elements. If the
-pixel dimensions of your UI scaled by this look appropriate on your machine then
-it should appear at a reasonable size on other machines regardless of their DPI
-and scaling settings. This relies on the system DPI and scaling settings being
-somewhat correct.
-
-The content scale may depend on both the monitor resolution and pixel density
-and on user settings. It may be very different from the raw DPI calculated from
-the physical size and current resolution.
-
-
-@subsection monitor_pos Virtual position
-
-The position of the monitor on the virtual desktop, in
-[screen coordinates](@ref coordinate_systems), can be retrieved with @ref
-glfwGetMonitorPos.
-
-@code
-int xpos, ypos;
-glfwGetMonitorPos(monitor, &xpos, &ypos);
-@endcode
-
-
-@subsection monitor_workarea Work area
-
-The area of a monitor not occupied by global task bars or menu bars is the work
-area. This is specified in [screen coordinates](@ref coordinate_systems) and
-can be retrieved with @ref glfwGetMonitorWorkarea.
-
-@code
-int xpos, ypos, width, height;
-glfwGetMonitorWorkarea(monitor, &xpos, &ypos, &width, &height);
-@endcode
-
-
-@subsection monitor_name Human-readable name
-
-The human-readable, UTF-8 encoded name of a monitor is returned by @ref
-glfwGetMonitorName. See the reference documentation for the lifetime of the
-returned string.
-
-@code
-const char* name = glfwGetMonitorName(monitor);
-@endcode
-
-Monitor names are not guaranteed to be unique. Two monitors of the same model
-and make may have the same name. Only the monitor handle is guaranteed to be
-unique, and only until that monitor is disconnected.
-
-
-@subsection monitor_userptr User pointer
-
-Each monitor has a user pointer that can be set with @ref
-glfwSetMonitorUserPointer and queried with @ref glfwGetMonitorUserPointer. This
-can be used for any purpose you need and will not be modified by GLFW. The
-value will be kept until the monitor is disconnected or until the library is
-terminated.
-
-The initial value of the pointer is `NULL`.
-
-
-@subsection monitor_gamma Gamma ramp
-
-The gamma ramp of a monitor can be set with @ref glfwSetGammaRamp, which accepts
-a monitor handle and a pointer to a @ref GLFWgammaramp structure.
-
-@code
-GLFWgammaramp ramp;
-unsigned short red[256], green[256], blue[256];
-
-ramp.size = 256;
-ramp.red = red;
-ramp.green = green;
-ramp.blue = blue;
-
-for (i = 0; i < ramp.size; i++)
-{
- // Fill out gamma ramp arrays as desired
-}
-
-glfwSetGammaRamp(monitor, &ramp);
-@endcode
-
-The gamma ramp data is copied before the function returns, so there is no need
-to keep it around once the ramp has been set.
-
-It is recommended that your gamma ramp have the same size as the current gamma
-ramp for that monitor.
-
-The current gamma ramp for a monitor is returned by @ref glfwGetGammaRamp. See
-the reference documentation for the lifetime of the returned structure.
-
-@code
-const GLFWgammaramp* ramp = glfwGetGammaRamp(monitor);
-@endcode
-
-If you wish to set a regular gamma ramp, you can have GLFW calculate it for you
-from the desired exponent with @ref glfwSetGamma, which in turn calls @ref
-glfwSetGammaRamp with the resulting ramp.
-
-@code
-glfwSetGamma(monitor, 1.0);
-@endcode
-
-To experiment with gamma correction via the @ref glfwSetGamma function, run the
-`gamma` test program.
-
-@note The software controlled gamma ramp is applied _in addition_ to the
-hardware gamma correction, which today is usually an approximation of sRGB
-gamma. This means that setting a perfectly linear ramp, or gamma 1.0, will
-produce the default (usually sRGB-like) behavior.
-
-*/
diff --git a/3rdparty/glfw/source/docs/moving.dox b/3rdparty/glfw/source/docs/moving.dox
deleted file mode 100644
index b80d84a..0000000
--- a/3rdparty/glfw/source/docs/moving.dox
+++ /dev/null
@@ -1,513 +0,0 @@
-/*!
-
-@page moving_guide Moving from GLFW 2 to 3
-
-@tableofcontents
-
-This is a transition guide for moving from GLFW 2 to 3. It describes what has
-changed or been removed, but does _not_ include
-[new features](@ref news) unless they are required when moving an existing code
-base onto the new API. For example, the new multi-monitor functions are
-required to create full screen windows with GLFW 3.
-
-
-@section moving_removed Changed and removed features
-
-@subsection moving_renamed_files Renamed library and header file
-
-The GLFW 3 header is named @ref glfw3.h and moved to the `GLFW` directory, to
-avoid collisions with the headers of other major versions. Similarly, the GLFW
-3 library is named `glfw3,` except when it's installed as a shared library on
-Unix-like systems, where it uses the
-[soname](https://en.wikipedia.org/wiki/soname) `libglfw.so.3`.
-
-@par Old syntax
-@code
-#include <GL/glfw.h>
-@endcode
-
-@par New syntax
-@code
-#include <GLFW/glfw3.h>
-@endcode
-
-
-@subsection moving_threads Removal of threading functions
-
-The threading functions have been removed, including the per-thread sleep
-function. They were fairly primitive, under-used, poorly integrated and took
-time away from the focus of GLFW (i.e. context, input and window). There are
-better threading libraries available and native threading support is available
-in both [C++11](https://en.cppreference.com/w/cpp/thread) and
-[C11](https://en.cppreference.com/w/c/thread), both of which are gaining
-traction.
-
-If you wish to use the C++11 or C11 facilities but your compiler doesn't yet
-support them, see the
-[TinyThread++](https://gitorious.org/tinythread/tinythreadpp) and
-[TinyCThread](https://github.com/tinycthread/tinycthread) projects created by
-the original author of GLFW. These libraries implement a usable subset of the
-threading APIs in C++11 and C11, and in fact some GLFW 3 test programs use
-TinyCThread.
-
-However, GLFW 3 has better support for _use from multiple threads_ than GLFW
-2 had. Contexts can be made current on any thread, although only a single
-thread at a time, and the documentation explicitly states which functions may be
-used from any thread and which must only be used from the main thread.
-
-@par Removed functions
-`glfwSleep`, `glfwCreateThread`, `glfwDestroyThread`, `glfwWaitThread`,
-`glfwGetThreadID`, `glfwCreateMutex`, `glfwDestroyMutex`, `glfwLockMutex`,
-`glfwUnlockMutex`, `glfwCreateCond`, `glfwDestroyCond`, `glfwWaitCond`,
-`glfwSignalCond`, `glfwBroadcastCond` and `glfwGetNumberOfProcessors`.
-
-@par Removed types
-`GLFWthreadfun`
-
-
-@subsection moving_image Removal of image and texture loading
-
-The image and texture loading functions have been removed. They only supported
-the Targa image format, making them mostly useful for beginner level examples.
-To become of sufficiently high quality to warrant keeping them in GLFW 3, they
-would need not only to support other formats, but also modern extensions to
-OpenGL texturing. This would either add a number of external
-dependencies (libjpeg, libpng, etc.), or force GLFW to ship with inline versions
-of these libraries.
-
-As there already are libraries doing this, it is unnecessary both to duplicate
-the work and to tie the duplicate to GLFW. The resulting library would also be
-platform-independent, as both OpenGL and stdio are available wherever GLFW is.
-
-@par Removed functions
-`glfwReadImage`, `glfwReadMemoryImage`, `glfwFreeImage`, `glfwLoadTexture2D`,
-`glfwLoadMemoryTexture2D` and `glfwLoadTextureImage2D`.
-
-
-@subsection moving_stdcall Removal of GLFWCALL macro
-
-The `GLFWCALL` macro, which made callback functions use
-[__stdcall](https://msdn.microsoft.com/en-us/library/zxk0tw93.aspx) on Windows,
-has been removed. GLFW is written in C, not Pascal. Removing this macro means
-there's one less thing for application programmers to remember, i.e. the
-requirement to mark all callback functions with `GLFWCALL`. It also simplifies
-the creation of DLLs and DLL link libraries, as there's no need to explicitly
-disable `@n` entry point suffixes.
-
-@par Old syntax
-@code
-void GLFWCALL callback_function(...);
-@endcode
-
-@par New syntax
-@code
-void callback_function(...);
-@endcode
-
-
-@subsection moving_window_handles Window handle parameters
-
-Because GLFW 3 supports multiple windows, window handle parameters have been
-added to all window-related GLFW functions and callbacks. The handle of
-a newly created window is returned by @ref glfwCreateWindow (formerly
-`glfwOpenWindow`). Window handles are pointers to the
-[opaque](https://en.wikipedia.org/wiki/Opaque_data_type) type @ref GLFWwindow.
-
-@par Old syntax
-@code
-glfwSetWindowTitle("New Window Title");
-@endcode
-
-@par New syntax
-@code
-glfwSetWindowTitle(window, "New Window Title");
-@endcode
-
-
-@subsection moving_monitor Explicit monitor selection
-
-GLFW 3 provides support for multiple monitors. To request a full screen mode window,
-instead of passing `GLFW_FULLSCREEN` you specify which monitor you wish the
-window to use. The @ref glfwGetPrimaryMonitor function returns the monitor that
-GLFW 2 would have selected, but there are many other
-[monitor functions](@ref monitor_guide). Monitor handles are pointers to the
-[opaque](https://en.wikipedia.org/wiki/Opaque_data_type) type @ref GLFWmonitor.
-
-@par Old basic full screen
-@code
-glfwOpenWindow(640, 480, 8, 8, 8, 0, 24, 0, GLFW_FULLSCREEN);
-@endcode
-
-@par New basic full screen
-@code
-window = glfwCreateWindow(640, 480, "My Window", glfwGetPrimaryMonitor(), NULL);
-@endcode
-
-@note The framebuffer bit depth parameters of `glfwOpenWindow` have been turned
-into [window hints](@ref window_hints), but as they have been given
-[sane defaults](@ref window_hints_values) you rarely need to set these hints.
-
-
-@subsection moving_autopoll Removal of automatic event polling
-
-GLFW 3 does not automatically poll for events in @ref glfwSwapBuffers, meaning
-you need to call @ref glfwPollEvents or @ref glfwWaitEvents yourself. Unlike
-buffer swap, which acts on a single window, the event processing functions act
-on all windows at once.
-
-@par Old basic main loop
-@code
-while (...)
-{
- // Process input
- // Render output
- glfwSwapBuffers();
-}
-@endcode
-
-@par New basic main loop
-@code
-while (...)
-{
- // Process input
- // Render output
- glfwSwapBuffers(window);
- glfwPollEvents();
-}
-@endcode
-
-
-@subsection moving_context Explicit context management
-
-Each GLFW 3 window has its own OpenGL context and only you, the application
-programmer, can know which context should be current on which thread at any
-given time. Therefore, GLFW 3 leaves that decision to you.
-
-This means that you need to call @ref glfwMakeContextCurrent after creating
-a window before you can call any OpenGL functions.
-
-
-@subsection moving_hidpi Separation of window and framebuffer sizes
-
-Window positions and sizes now use screen coordinates, which may not be the same
-as pixels on machines with high-DPI monitors. This is important as OpenGL uses
-pixels, not screen coordinates. For example, the rectangle specified with
-`glViewport` needs to use pixels. Therefore, framebuffer size functions have
-been added. You can retrieve the size of the framebuffer of a window with @ref
-glfwGetFramebufferSize function. A framebuffer size callback has also been
-added, which can be set with @ref glfwSetFramebufferSizeCallback.
-
-@par Old basic viewport setup
-@code
-glfwGetWindowSize(&width, &height);
-glViewport(0, 0, width, height);
-@endcode
-
-@par New basic viewport setup
-@code
-glfwGetFramebufferSize(window, &width, &height);
-glViewport(0, 0, width, height);
-@endcode
-
-
-@subsection moving_window_close Window closing changes
-
-The `GLFW_OPENED` window parameter has been removed. As long as the window has
-not been destroyed, whether through @ref glfwDestroyWindow or @ref
-glfwTerminate, the window is "open".
-
-A user attempting to close a window is now just an event like any other. Unlike
-GLFW 2, windows and contexts created with GLFW 3 will never be destroyed unless
-you choose them to be. Each window now has a close flag that is set to
-`GLFW_TRUE` when the user attempts to close that window. By default, nothing else
-happens and the window stays visible. It is then up to you to either destroy
-the window, take some other action or ignore the request.
-
-You can query the close flag at any time with @ref glfwWindowShouldClose and set
-it at any time with @ref glfwSetWindowShouldClose.
-
-@par Old basic main loop
-@code
-while (glfwGetWindowParam(GLFW_OPENED))
-{
- ...
-}
-@endcode
-
-@par New basic main loop
-@code
-while (!glfwWindowShouldClose(window))
-{
- ...
-}
-@endcode
-
-The close callback no longer returns a value. Instead, it is called after the
-close flag has been set so it can override its value, if it chooses to, before
-event processing completes. You may however not call @ref glfwDestroyWindow
-from the close callback (or any other window related callback).
-
-@par Old syntax
-@code
-int GLFWCALL window_close_callback(void);
-@endcode
-
-@par New syntax
-@code
-void window_close_callback(GLFWwindow* window);
-@endcode
-
-@note GLFW never clears the close flag to `GLFW_FALSE`, meaning you can use it
-for other reasons to close the window as well, for example the user choosing
-Quit from an in-game menu.
-
-
-@subsection moving_hints Persistent window hints
-
-The `glfwOpenWindowHint` function has been renamed to @ref glfwWindowHint.
-
-Window hints are no longer reset to their default values on window creation, but
-instead retain their values until modified by @ref glfwWindowHint or @ref
-glfwDefaultWindowHints, or until the library is terminated and re-initialized.
-
-
-@subsection moving_video_modes Video mode enumeration
-
-Video mode enumeration is now per-monitor. The @ref glfwGetVideoModes function
-now returns all available modes for a specific monitor instead of requiring you
-to guess how large an array you need. The `glfwGetDesktopMode` function, which
-had poorly defined behavior, has been replaced by @ref glfwGetVideoMode, which
-returns the current mode of a monitor.
-
-
-@subsection moving_char_up Removal of character actions
-
-The action parameter of the [character callback](@ref GLFWcharfun) has been
-removed. This was an artefact of the origin of GLFW, i.e. being developed in
-English by a Swede. However, many keyboard layouts require more than one key to
-produce characters with diacritical marks. Even the Swedish keyboard layout
-requires this for uncommon cases like ü.
-
-@par Old syntax
-@code
-void GLFWCALL character_callback(int character, int action);
-@endcode
-
-@par New syntax
-@code
-void character_callback(GLFWwindow* window, int character);
-@endcode
-
-
-@subsection moving_cursorpos Cursor position changes
-
-The `glfwGetMousePos` function has been renamed to @ref glfwGetCursorPos,
-`glfwSetMousePos` to @ref glfwSetCursorPos and `glfwSetMousePosCallback` to @ref
-glfwSetCursorPosCallback.
-
-The cursor position is now `double` instead of `int`, both for the direct
-functions and for the callback. Some platforms can provide sub-pixel cursor
-movement and this data is now passed on to the application where available. On
-platforms where this is not provided, the decimal part is zero.
-
-GLFW 3 only allows you to position the cursor within a window using @ref
-glfwSetCursorPos (formerly `glfwSetMousePos`) when that window is active.
-Unless the window is active, the function fails silently.
-
-
-@subsection moving_wheel Wheel position replaced by scroll offsets
-
-The `glfwGetMouseWheel` function has been removed. Scrolling is the input of
-offsets and has no absolute position. The mouse wheel callback has been
-replaced by a [scroll callback](@ref GLFWscrollfun) that receives
-two-dimensional floating point scroll offsets. This allows you to receive
-precise scroll data from for example modern touchpads.
-
-@par Old syntax
-@code
-void GLFWCALL mouse_wheel_callback(int position);
-@endcode
-
-@par New syntax
-@code
-void scroll_callback(GLFWwindow* window, double xoffset, double yoffset);
-@endcode
-
-@par Removed functions
-`glfwGetMouseWheel`
-
-
-@subsection moving_repeat Key repeat action
-
-The `GLFW_KEY_REPEAT` enable has been removed and key repeat is always enabled
-for both keys and characters. A new key action, `GLFW_REPEAT`, has been added
-to allow the [key callback](@ref GLFWkeyfun) to distinguish an initial key press
-from a repeat. Note that @ref glfwGetKey still returns only `GLFW_PRESS` or
-`GLFW_RELEASE`.
-
-
-@subsection moving_keys Physical key input
-
-GLFW 3 key tokens map to physical keys, unlike in GLFW 2 where they mapped to
-the values generated by the current keyboard layout. The tokens are named
-according to the values they would have using the standard US layout, but this
-is only a convenience, as most programmers are assumed to know that layout.
-This means that (for example) `GLFW_KEY_LEFT_BRACKET` is always a single key and
-is the same key in the same place regardless of what keyboard layouts the users
-of your program has.
-
-The key input facility was never meant for text input, although using it that
-way worked slightly better in GLFW 2. If you were using it to input text, you
-should be using the character callback instead, on both GLFW 2 and 3. This will
-give you the characters being input, as opposed to the keys being pressed.
-
-GLFW 3 has key tokens for all keys on a standard 105 key keyboard, so instead of
-having to remember whether to check for `a` or `A`, you now check for
-@ref GLFW_KEY_A.
-
-
-@subsection moving_joystick Joystick function changes
-
-The `glfwGetJoystickPos` function has been renamed to @ref glfwGetJoystickAxes.
-
-The `glfwGetJoystickParam` function and the `GLFW_PRESENT`, `GLFW_AXES` and
-`GLFW_BUTTONS` tokens have been replaced by the @ref glfwJoystickPresent
-function as well as axis and button counts returned by the @ref
-glfwGetJoystickAxes and @ref glfwGetJoystickButtons functions.
-
-
-@subsection moving_mbcs Win32 MBCS support
-
-The Win32 port of GLFW 3 will not compile in
-[MBCS mode](https://msdn.microsoft.com/en-us/library/5z097dxa.aspx).
-However, because the use of the Unicode version of the Win32 API doesn't affect
-the process as a whole, but only those windows created using it, it's perfectly
-possible to call MBCS functions from other parts of the same application.
-Therefore, even if an application using GLFW has MBCS mode code, there's no need
-for GLFW itself to support it.
-
-
-@subsection moving_windows Support for versions of Windows older than XP
-
-All explicit support for version of Windows older than XP has been removed.
-There is no code that actively prevents GLFW 3 from running on these earlier
-versions, but it uses Win32 functions that those versions lack.
-
-Windows XP was released in 2001, and by now (January 2015) it has not only
-replaced almost all earlier versions of Windows, but is itself rapidly being
-replaced by Windows 7 and 8. The MSDN library doesn't even provide
-documentation for version older than Windows 2000, making it difficult to
-maintain compatibility with these versions even if it was deemed worth the
-effort.
-
-The Win32 API has also not stood still, and GLFW 3 uses many functions only
-present on Windows XP or later. Even supporting an OS as new as XP (new
-from the perspective of GLFW 2, which still supports Windows 95) requires
-runtime checking for a number of functions that are present only on modern
-version of Windows.
-
-
-@subsection moving_syskeys Capture of system-wide hotkeys
-
-The ability to disable and capture system-wide hotkeys like Alt+Tab has been
-removed. Modern applications, whether they're games, scientific visualisations
-or something else, are nowadays expected to be good desktop citizens and allow
-these hotkeys to function even when running in full screen mode.
-
-
-@subsection moving_terminate Automatic termination
-
-GLFW 3 does not register @ref glfwTerminate with `atexit` at initialization,
-because `exit` calls registered functions from the calling thread and while it
-is permitted to call `exit` from any thread, @ref glfwTerminate must only be
-called from the main thread.
-
-To release all resources allocated by GLFW, you should call @ref glfwTerminate
-yourself, from the main thread, before the program terminates. Note that this
-destroys all windows not already destroyed with @ref glfwDestroyWindow,
-invalidating any window handles you may still have.
-
-
-@subsection moving_glu GLU header inclusion
-
-GLFW 3 does not by default include the GLU header and GLU itself has been
-deprecated by [Khronos](https://en.wikipedia.org/wiki/Khronos_Group). __New
-projects should not use GLU__, but if you need it for legacy code that
-has been moved to GLFW 3, you can request that the GLFW header includes it by
-defining @ref GLFW_INCLUDE_GLU before the inclusion of the GLFW header.
-
-@par Old syntax
-@code
-#include <GL/glfw.h>
-@endcode
-
-@par New syntax
-@code
-#define GLFW_INCLUDE_GLU
-#include <GLFW/glfw3.h>
-@endcode
-
-There are many libraries that offer replacements for the functionality offered
-by GLU. For the matrix helper functions, see math libraries like
-[GLM](https://github.com/g-truc/glm) (for C++),
-[linmath.h](https://github.com/datenwolf/linmath.h) (for C) and others. For the
-tessellation functions, see for example
-[libtess2](https://github.com/memononen/libtess2).
-
-
-@section moving_tables Name change tables
-
-
-@subsection moving_renamed_functions Renamed functions
-
-| GLFW 2 | GLFW 3 | Notes |
-| --------------------------- | ----------------------------- | ----- |
-| `glfwOpenWindow` | @ref glfwCreateWindow | All channel bit depths are now hints
-| `glfwCloseWindow` | @ref glfwDestroyWindow | |
-| `glfwOpenWindowHint` | @ref glfwWindowHint | Now accepts all `GLFW_*_BITS` tokens |
-| `glfwEnable` | @ref glfwSetInputMode | |
-| `glfwDisable` | @ref glfwSetInputMode | |
-| `glfwGetMousePos` | @ref glfwGetCursorPos | |
-| `glfwSetMousePos` | @ref glfwSetCursorPos | |
-| `glfwSetMousePosCallback` | @ref glfwSetCursorPosCallback | |
-| `glfwSetMouseWheelCallback` | @ref glfwSetScrollCallback | Accepts two-dimensional scroll offsets as doubles |
-| `glfwGetJoystickPos` | @ref glfwGetJoystickAxes | |
-| `glfwGetWindowParam` | @ref glfwGetWindowAttrib | |
-| `glfwGetGLVersion` | @ref glfwGetWindowAttrib | Use `GLFW_CONTEXT_VERSION_MAJOR`, `GLFW_CONTEXT_VERSION_MINOR` and `GLFW_CONTEXT_REVISION` |
-| `glfwGetDesktopMode` | @ref glfwGetVideoMode | Returns the current mode of a monitor |
-| `glfwGetJoystickParam` | @ref glfwJoystickPresent | The axis and button counts are provided by @ref glfwGetJoystickAxes and @ref glfwGetJoystickButtons |
-
-
-@subsection moving_renamed_types Renamed types
-
-| GLFW 2 | GLFW 3 | Notes |
-| ------------------- | --------------------- | |
-| `GLFWmousewheelfun` | @ref GLFWscrollfun | |
-| `GLFWmouseposfun` | @ref GLFWcursorposfun | |
-
-
-@subsection moving_renamed_tokens Renamed tokens
-
-| GLFW 2 | GLFW 3 | Notes |
-| --------------------------- | ---------------------------- | ----- |
-| `GLFW_OPENGL_VERSION_MAJOR` | `GLFW_CONTEXT_VERSION_MAJOR` | Renamed as it applies to OpenGL ES as well |
-| `GLFW_OPENGL_VERSION_MINOR` | `GLFW_CONTEXT_VERSION_MINOR` | Renamed as it applies to OpenGL ES as well |
-| `GLFW_FSAA_SAMPLES` | `GLFW_SAMPLES` | Renamed to match the OpenGL API |
-| `GLFW_ACTIVE` | `GLFW_FOCUSED` | Renamed to match the window focus callback |
-| `GLFW_WINDOW_NO_RESIZE` | `GLFW_RESIZABLE` | The default has been inverted |
-| `GLFW_MOUSE_CURSOR` | `GLFW_CURSOR` | Used with @ref glfwSetInputMode |
-| `GLFW_KEY_ESC` | `GLFW_KEY_ESCAPE` | |
-| `GLFW_KEY_DEL` | `GLFW_KEY_DELETE` | |
-| `GLFW_KEY_PAGEUP` | `GLFW_KEY_PAGE_UP` | |
-| `GLFW_KEY_PAGEDOWN` | `GLFW_KEY_PAGE_DOWN` | |
-| `GLFW_KEY_KP_NUM_LOCK` | `GLFW_KEY_NUM_LOCK` | |
-| `GLFW_KEY_LCTRL` | `GLFW_KEY_LEFT_CONTROL` | |
-| `GLFW_KEY_LSHIFT` | `GLFW_KEY_LEFT_SHIFT` | |
-| `GLFW_KEY_LALT` | `GLFW_KEY_LEFT_ALT` | |
-| `GLFW_KEY_LSUPER` | `GLFW_KEY_LEFT_SUPER` | |
-| `GLFW_KEY_RCTRL` | `GLFW_KEY_RIGHT_CONTROL` | |
-| `GLFW_KEY_RSHIFT` | `GLFW_KEY_RIGHT_SHIFT` | |
-| `GLFW_KEY_RALT` | `GLFW_KEY_RIGHT_ALT` | |
-| `GLFW_KEY_RSUPER` | `GLFW_KEY_RIGHT_SUPER` | |
-
-*/
diff --git a/3rdparty/glfw/source/docs/news.dox b/3rdparty/glfw/source/docs/news.dox
deleted file mode 100644
index fbf6031..0000000
--- a/3rdparty/glfw/source/docs/news.dox
+++ /dev/null
@@ -1,240 +0,0 @@
-/*!
-
-@page news Release notes
-
-@tableofcontents
-
-
-@section news_34 Release notes for version 3.4
-
-@subsection features_34 New features in version 3.4
-
-@subsubsection runtime_platform_34 Runtime platform selection
-
-GLFW now supports being compiled for multiple backends and selecting between
-them at runtime with the @ref GLFW_PLATFORM init hint. After initialization the
-selected platform can be queried with @ref glfwGetPlatform. You can check if
-support for a given platform is compiled in with @ref glfwPlatformSupported.
-
-
-@subsubsection standard_cursors_34 More standard cursors
-
-GLFW now provides the standard cursor shapes @ref GLFW_RESIZE_NWSE_CURSOR and
-@ref GLFW_RESIZE_NESW_CURSOR for diagonal resizing, @ref GLFW_RESIZE_ALL_CURSOR
-for omni-directional resizing and @ref GLFW_NOT_ALLOWED_CURSOR for showing an
-action is not allowed.
-
-Unlike the original set, these shapes may not be available everywhere and
-creation will then fail with the new @ref GLFW_CURSOR_UNAVAILABLE error.
-
-The cursors for horizontal and vertical resizing are now referred to as @ref
-GLFW_RESIZE_EW_CURSOR and @ref GLFW_RESIZE_NS_CURSOR, and the pointing hand
-cursor is now referred to as @ref GLFW_POINTING_HAND_CURSOR. The older names
-are still available.
-
-For more information see @ref cursor_standard.
-
-
-@subsubsection mouse_passthrough_34 Mouse event passthrough
-
-GLFW now provides the [GLFW_MOUSE_PASSTHROUGH](@ref GLFW_MOUSE_PASSTHROUGH_hint)
-window hint for making a window transparent to mouse input, lettings events pass
-to whatever window is behind it. This can also be changed after window
-creation with the matching [window attribute](@ref GLFW_MOUSE_PASSTHROUGH_attrib).
-
-
-@subsubsection features_34_angle_backend Support for ANGLE rendering backend selection
-
-GLFW now provides the
-[GLFW_ANGLE_PLATFORM_TYPE](@ref GLFW_ANGLE_PLATFORM_TYPE_hint) init hint for
-requesting a specific rendering backend when using
-[ANGLE](https://chromium.googlesource.com/angle/angle/) to create OpenGL ES
-contexts.
-
-
-@subsubsection features_34_init_allocator Support for custom memory allocator
-
-GLFW now supports plugging a custom memory allocator at initialization with @ref
-glfwInitAllocator. The allocator is a struct of type @ref GLFWallocator with
-function pointers corresponding to the standard library functions `malloc`,
-`realloc` and `free`.
-
-For more information see @ref init_allocator.
-
-
-@subsubsection features_34_win32_keymenu Support for keyboard access to Windows window menu
-
-GLFW now provides the
-[GLFW_WIN32_KEYBOARD_MENU](@ref GLFW_WIN32_KEYBOARD_MENU_hint) window hint for
-enabling keyboard access to the window menu via the Alt+Space and
-Alt-and-then-Space shortcuts. This may be useful for more GUI-oriented
-applications.
-
-
-@subsection caveats Caveats for version 3.4
-
-@subsubsection native_34 Multiple sets of native access functions
-
-Because GLFW now supports runtime selection of platform (window system), a library binary
-may export native access functions for multiple platforms. Starting with version 3.4 you
-must not assume that GLFW is running on a platform just because it exports native access
-functions for it. After initialization you can query the selected platform with @ref
-glfwGetPlatform.
-
-
-@subsubsection version_string_34 Version string format has been changed
-
-Because GLFW now supports runtime selection of platform (window system), the version
-string returned by @ref glfwGetVersionString has been expanded. It now contains the names
-of all APIs for all the platforms that the library binary supports.
-
-
-@subsubsection joysticks_34 Joystick support is initialized on demand
-
-The joystick part of GLFW is now initialized when first used, primarily to work
-around faulty Windows drivers that cause DirectInput to take up to several
-seconds to enumerate devices.
-
-This change will usually not be observable. However, if your application waits
-for events without having first called any joystick function or created any
-visible windows, the wait may never unblock as GLFW may not yet have subscribed
-to joystick related OS events.
-
-To work around this, call any joystick function before waiting for events, for
-example by setting a [joystick callback](@ref joystick_event).
-
-
-@subsubsection standalone_34 Tests and examples are disabled when built as a sub-project
-
-GLFW now does not build the tests and examples when it is added as
-a subdirectory of another CMake project. To enable these, set the @ref
-GLFW_BUILD_TESTS and @ref GLFW_BUILD_EXAMPLES cache variables before adding the
-GLFW subdirectory.
-
-@code{.cmake}
-set(GLFW_BUILD_EXAMPLES ON CACHE BOOL "" FORCE)
-set(GLFW_BUILD_TESTS ON CACHE BOOL "" FORCE)
-add_subdirectory(path/to/glfw)
-@endcode
-
-
-@subsubsection initmenu_34 macOS main menu now created at initialization
-
-GLFW now creates the main menu and completes the initialization of NSApplication
-during initialization. Programs that do not want a main menu can disable it
-with the [GLFW_COCOA_MENUBAR](@ref GLFW_COCOA_MENUBAR_hint) init hint.
-
-
-@subsubsection corevideo_34 CoreVideo dependency has been removed
-
-GLFW no longer depends on the CoreVideo framework on macOS and it no longer
-needs to be specified during compilation or linking.
-
-
-@subsubsection caveat_fbtransparency_34 Framebuffer transparency requires DWM transparency
-
-GLFW no longer supports framebuffer transparency enabled via @ref
-GLFW_TRANSPARENT_FRAMEBUFFER on Windows 7 if DWM transparency is off
-(the Transparency setting under Personalization > Window Color).
-
-
-@subsubsection emptyevents_34 Empty events on X11 no longer roundtrip to server
-
-Events posted with @ref glfwPostEmptyEvent now use a separate unnamed pipe
-instead of sending an X11 client event to the helper window.
-
-
-@subsection deprecations_34 Deprecations in version 3.4
-
-@subsection removals_34 Removals in 3.4
-
-@subsubsection vulkan_static_34 GLFW_VULKAN_STATIC CMake option has been removed
-
-This option was used to compile GLFW directly linked with the Vulkan loader, instead of
-using dynamic loading to get hold of `vkGetInstanceProcAddr` at initialization. This is
-now done by calling the @ref glfwInitVulkanLoader function before initialization.
-
-If you need backward compatibility, this macro can still be defined for GLFW 3.4 and will
-have no effect. The call to @ref glfwInitVulkanLoader can be conditionally enabled in
-your code by checking the @ref GLFW_VERSION_MAJOR and @ref GLFW_VERSION_MINOR macros.
-
-
-@subsubsection osmesa_option_34 GLFW_USE_OSMESA CMake option has been removed
-
-This option was used to compile GLFW for the Null platform. The Null platform is now
-always supported. To produce a library binary that only supports this platform, the way
-this CMake option used to do, you will instead need to disable the default platform for
-the target OS. This means setting the @ref GLFW_BUILD_WIN32, @ref GLFW_BUILD_COCOA or
-@ref GLFW_BUILD_X11 CMake option to false.
-
-You can set all of them to false and the ones that don't apply for the target OS will be
-ignored.
-
-
-@subsubsection wl_shell_34 Support for the wl_shell protocol has been removed
-
-Support for the wl_shell protocol has been removed and GLFW now only supports
-the XDG-Shell protocol. If your Wayland compositor does not support XDG-Shell
-then GLFW will fail to initialize.
-
-
-@subsection symbols_34 New symbols in version 3.4
-
-@subsubsection functions_34 New functions in version 3.4
-
- - @ref glfwInitAllocator
- - @ref glfwGetPlatform
- - @ref glfwPlatformSupported
- - @ref glfwInitVulkanLoader
-
-
-@subsubsection types_34 New types in version 3.4
-
- - @ref GLFWallocator
- - @ref GLFWallocatefun
- - @ref GLFWreallocatefun
- - @ref GLFWdeallocatefun
-
-
-@subsubsection constants_34 New constants in version 3.4
-
- - @ref GLFW_PLATFORM
- - @ref GLFW_ANY_PLATFORM
- - @ref GLFW_PLATFORM_WIN32
- - @ref GLFW_PLATFORM_COCOA
- - @ref GLFW_PLATFORM_WAYLAND
- - @ref GLFW_PLATFORM_X11
- - @ref GLFW_PLATFORM_NULL
- - @ref GLFW_PLATFORM_UNAVAILABLE
- - @ref GLFW_POINTING_HAND_CURSOR
- - @ref GLFW_RESIZE_EW_CURSOR
- - @ref GLFW_RESIZE_NS_CURSOR
- - @ref GLFW_RESIZE_NWSE_CURSOR
- - @ref GLFW_RESIZE_NESW_CURSOR
- - @ref GLFW_RESIZE_ALL_CURSOR
- - @ref GLFW_MOUSE_PASSTHROUGH
- - @ref GLFW_NOT_ALLOWED_CURSOR
- - @ref GLFW_CURSOR_UNAVAILABLE
- - @ref GLFW_WIN32_KEYBOARD_MENU
- - @ref GLFW_CONTEXT_DEBUG
- - @ref GLFW_FEATURE_UNAVAILABLE
- - @ref GLFW_FEATURE_UNIMPLEMENTED
- - @ref GLFW_ANGLE_PLATFORM_TYPE
- - @ref GLFW_ANGLE_PLATFORM_TYPE_NONE
- - @ref GLFW_ANGLE_PLATFORM_TYPE_OPENGL
- - @ref GLFW_ANGLE_PLATFORM_TYPE_OPENGLES
- - @ref GLFW_ANGLE_PLATFORM_TYPE_D3D9
- - @ref GLFW_ANGLE_PLATFORM_TYPE_D3D11
- - @ref GLFW_ANGLE_PLATFORM_TYPE_VULKAN
- - @ref GLFW_ANGLE_PLATFORM_TYPE_METAL
- - @ref GLFW_X11_XCB_VULKAN_SURFACE
-
-
-@section news_archive Release notes for earlier versions
-
-- [Release notes for 3.3](https://www.glfw.org/docs/3.3/news.html)
-- [Release notes for 3.2](https://www.glfw.org/docs/3.2/news.html)
-- [Release notes for 3.1](https://www.glfw.org/docs/3.1/news.html)
-- [Release notes for 3.0](https://www.glfw.org/docs/3.0/news.html)
-
-*/
diff --git a/3rdparty/glfw/source/docs/quick.dox b/3rdparty/glfw/source/docs/quick.dox
deleted file mode 100644
index c3f47aa..0000000
--- a/3rdparty/glfw/source/docs/quick.dox
+++ /dev/null
@@ -1,371 +0,0 @@
-/*!
-
-@page quick_guide Getting started
-
-@tableofcontents
-
-This guide takes you through writing a small application using GLFW 3. The
-application will create a window and OpenGL context, render a rotating triangle
-and exit when the user closes the window or presses _Escape_. This guide will
-introduce a few of the most commonly used functions, but there are many more.
-
-This guide assumes no experience with earlier versions of GLFW. If you
-have used GLFW 2 in the past, read @ref moving_guide, as some functions
-behave differently in GLFW 3.
-
-
-@section quick_steps Step by step
-
-@subsection quick_include Including the GLFW header
-
-In the source files of your application where you use GLFW, you need to include
-its header file.
-
-@code
-#include <GLFW/glfw3.h>
-@endcode
-
-This header provides all the constants, types and function prototypes of the
-GLFW API.
-
-By default it also includes the OpenGL header from your development environment.
-On some platforms this header only supports older versions of OpenGL. The most
-extreme case is Windows, where it typically only supports OpenGL 1.2.
-
-Most programs will instead use an
-[extension loader library](@ref context_glext_auto) and include its header.
-This example uses files generated by [glad](https://gen.glad.sh/). The GLFW
-header can detect most such headers if they are included first and will then not
-include the one from your development environment.
-
-@code
-#include <glad/gl.h>
-#include <GLFW/glfw3.h>
-@endcode
-
-To make sure there will be no header conflicts, you can define @ref
-GLFW_INCLUDE_NONE before the GLFW header to explicitly disable inclusion of the
-development environment header. This also allows the two headers to be included
-in any order.
-
-@code
-#define GLFW_INCLUDE_NONE
-#include <GLFW/glfw3.h>
-#include <glad/gl.h>
-@endcode
-
-
-@subsection quick_init_term Initializing and terminating GLFW
-
-Before you can use most GLFW functions, the library must be initialized. On
-successful initialization, `GLFW_TRUE` is returned. If an error occurred,
-`GLFW_FALSE` is returned.
-
-@code
-if (!glfwInit())
-{
- // Initialization failed
-}
-@endcode
-
-Note that `GLFW_TRUE` and `GLFW_FALSE` are and will always be one and zero.
-
-When you are done using GLFW, typically just before the application exits, you
-need to terminate GLFW.
-
-@code
-glfwTerminate();
-@endcode
-
-This destroys any remaining windows and releases any other resources allocated by
-GLFW. After this call, you must initialize GLFW again before using any GLFW
-functions that require it.
-
-
-@subsection quick_capture_error Setting an error callback
-
-Most events are reported through callbacks, whether it's a key being pressed,
-a GLFW window being moved, or an error occurring. Callbacks are C functions (or
-C++ static methods) that are called by GLFW with arguments describing the event.
-
-In case a GLFW function fails, an error is reported to the GLFW error callback.
-You can receive these reports with an error callback. This function must have
-the signature below but may do anything permitted in other callbacks.
-
-@code
-void error_callback(int error, const char* description)
-{
- fprintf(stderr, "Error: %s\n", description);
-}
-@endcode
-
-Callback functions must be set, so GLFW knows to call them. The function to set
-the error callback is one of the few GLFW functions that may be called before
-initialization, which lets you be notified of errors both during and after
-initialization.
-
-@code
-glfwSetErrorCallback(error_callback);
-@endcode
-
-
-@subsection quick_create_window Creating a window and context
-
-The window and its OpenGL context are created with a single call to @ref
-glfwCreateWindow, which returns a handle to the created combined window and
-context object
-
-@code
-GLFWwindow* window = glfwCreateWindow(640, 480, "My Title", NULL, NULL);
-if (!window)
-{
- // Window or OpenGL context creation failed
-}
-@endcode
-
-This creates a 640 by 480 windowed mode window with an OpenGL context. If
-window or OpenGL context creation fails, `NULL` will be returned. You should
-always check the return value. While window creation rarely fails, context
-creation depends on properly installed drivers and may fail even on machines
-with the necessary hardware.
-
-By default, the OpenGL context GLFW creates may have any version. You can
-require a minimum OpenGL version by setting the `GLFW_CONTEXT_VERSION_MAJOR` and
-`GLFW_CONTEXT_VERSION_MINOR` hints _before_ creation. If the required minimum
-version is not supported on the machine, context (and window) creation fails.
-
-You can select the OpenGL profile by setting the `GLFW_OPENGL_PROFILE` hint.
-This program uses the core profile as that is the only profile macOS supports
-for OpenGL 3.x and 4.x.
-
-@code
-glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
-glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
-glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
-GLFWwindow* window = glfwCreateWindow(640, 480, "My Title", NULL, NULL);
-if (!window)
-{
- // Window or context creation failed
-}
-@endcode
-
-The window handle is passed to all window related functions and is provided to
-along to all window related callbacks, so they can tell which window received
-the event.
-
-When a window and context is no longer needed, destroy it.
-
-@code
-glfwDestroyWindow(window);
-@endcode
-
-Once this function is called, no more events will be delivered for that window
-and its handle becomes invalid.
-
-
-@subsection quick_context_current Making the OpenGL context current
-
-Before you can use the OpenGL API, you must have a current OpenGL context.
-
-@code
-glfwMakeContextCurrent(window);
-@endcode
-
-The context will remain current until you make another context current or until
-the window owning the current context is destroyed.
-
-If you are using an [extension loader library](@ref context_glext_auto) to
-access modern OpenGL then this is when to initialize it, as the loader needs
-a current context to load from. This example uses
-[glad](https://github.com/Dav1dde/glad), but the same rule applies to all such
-libraries.
-
-@code
-gladLoadGL(glfwGetProcAddress);
-@endcode
-
-
-@subsection quick_window_close Checking the window close flag
-
-Each window has a flag indicating whether the window should be closed.
-
-When the user attempts to close the window, either by pressing the close widget
-in the title bar or using a key combination like Alt+F4, this flag is set to 1.
-Note that __the window isn't actually closed__, so you are expected to monitor
-this flag and either destroy the window or give some kind of feedback to the
-user.
-
-@code
-while (!glfwWindowShouldClose(window))
-{
- // Keep running
-}
-@endcode
-
-You can be notified when the user is attempting to close the window by setting
-a close callback with @ref glfwSetWindowCloseCallback. The callback will be
-called immediately after the close flag has been set.
-
-You can also set it yourself with @ref glfwSetWindowShouldClose. This can be
-useful if you want to interpret other kinds of input as closing the window, like
-for example pressing the _Escape_ key.
-
-
-@subsection quick_key_input Receiving input events
-
-Each window has a large number of callbacks that can be set to receive all the
-various kinds of events. To receive key press and release events, create a key
-callback function.
-
-@code
-static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
-{
- if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
- glfwSetWindowShouldClose(window, GLFW_TRUE);
-}
-@endcode
-
-The key callback, like other window related callbacks, are set per-window.
-
-@code
-glfwSetKeyCallback(window, key_callback);
-@endcode
-
-In order for event callbacks to be called when events occur, you need to process
-events as described below.
-
-
-@subsection quick_render Rendering with OpenGL
-
-Once you have a current OpenGL context, you can use OpenGL normally. In this
-tutorial, a multi-colored rotating triangle will be rendered. The framebuffer
-size needs to be retrieved for `glViewport`.
-
-@code
-int width, height;
-glfwGetFramebufferSize(window, &width, &height);
-glViewport(0, 0, width, height);
-@endcode
-
-You can also set a framebuffer size callback using @ref
-glfwSetFramebufferSizeCallback and be notified when the size changes.
-
-The details of how to render with OpenGL is outside the scope of this tutorial,
-but there are many excellent resources for learning modern OpenGL. Here are
-a few of them:
-
- - [Anton's OpenGL 4 Tutorials](https://antongerdelan.net/opengl/)
- - [Learn OpenGL](https://learnopengl.com/)
- - [Open.GL](https://open.gl/)
-
-These all happen to use GLFW, but OpenGL itself works the same whatever API you
-use to create the window and context.
-
-
-@subsection quick_timer Reading the timer
-
-To create smooth animation, a time source is needed. GLFW provides a timer that
-returns the number of seconds since initialization. The time source used is the
-most accurate on each platform and generally has micro- or nanosecond
-resolution.
-
-@code
-double time = glfwGetTime();
-@endcode
-
-
-@subsection quick_swap_buffers Swapping buffers
-
-GLFW windows by default use double buffering. That means that each window has
-two rendering buffers; a front buffer and a back buffer. The front buffer is
-the one being displayed and the back buffer the one you render to.
-
-When the entire frame has been rendered, the buffers need to be swapped with one
-another, so the back buffer becomes the front buffer and vice versa.
-
-@code
-glfwSwapBuffers(window);
-@endcode
-
-The swap interval indicates how many frames to wait until swapping the buffers,
-commonly known as _vsync_. By default, the swap interval is zero, meaning
-buffer swapping will occur immediately. On fast machines, many of those frames
-will never be seen, as the screen is still only updated typically 60-75 times
-per second, so this wastes a lot of CPU and GPU cycles.
-
-Also, because the buffers will be swapped in the middle the screen update,
-leading to [screen tearing](https://en.wikipedia.org/wiki/Screen_tearing).
-
-For these reasons, applications will typically want to set the swap interval to
-one. It can be set to higher values, but this is usually not recommended,
-because of the input latency it leads to.
-
-@code
-glfwSwapInterval(1);
-@endcode
-
-This function acts on the current context and will fail unless a context is
-current.
-
-
-@subsection quick_process_events Processing events
-
-GLFW needs to communicate regularly with the window system both in order to
-receive events and to show that the application hasn't locked up. Event
-processing must be done regularly while you have visible windows and is normally
-done each frame after buffer swapping.
-
-There are two methods for processing pending events; polling and waiting. This
-example will use event polling, which processes only those events that have
-already been received and then returns immediately.
-
-@code
-glfwPollEvents();
-@endcode
-
-This is the best choice when rendering continually, like most games do. If
-instead you only need to update your rendering once you have received new input,
-@ref glfwWaitEvents is a better choice. It waits until at least one event has
-been received, putting the thread to sleep in the meantime, and then processes
-all received events. This saves a great deal of CPU cycles and is useful for,
-for example, many kinds of editing tools.
-
-
-@section quick_example Putting it together
-
-Now that you know how to initialize GLFW, create a window and poll for
-keyboard input, it's possible to create a small program.
-
-This program creates a 640 by 480 windowed mode window and starts a loop that
-clears the screen, renders a triangle and processes events until the user either
-presses _Escape_ or closes the window.
-
-@snippet triangle-opengl.c code
-
-The program above can be found in the
-[source package](https://www.glfw.org/download.html) as
-`examples/triangle-opengl.c` and is compiled along with all other examples when
-you build GLFW. If you built GLFW from the source package then you already have
-this as `triangle-opengl.exe` on Windows, `triangle-opengl` on Linux or
-`triangle-opengl.app` on macOS.
-
-This tutorial used only a few of the many functions GLFW provides. There are
-guides for each of the areas covered by GLFW. Each guide will introduce all the
-functions for that category.
-
- - @ref intro_guide
- - @ref window_guide
- - @ref context_guide
- - @ref monitor_guide
- - @ref input_guide
-
-You can access reference documentation for any GLFW function by clicking it and
-the reference for each function links to related functions and guide sections.
-
-The tutorial ends here. Once you have written a program that uses GLFW, you
-will need to compile and link it. How to do that depends on the development
-environment you are using and is best explained by the documentation for that
-environment. To learn about the details that are specific to GLFW, see
-@ref build_guide.
-
-*/
diff --git a/3rdparty/glfw/source/docs/spaces.svg b/3rdparty/glfw/source/docs/spaces.svg
deleted file mode 100644
index 5b32646..0000000
--- a/3rdparty/glfw/source/docs/spaces.svg
+++ /dev/null
@@ -1,877 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="688.48718"
- height="327.98221"
- id="svg2"
- version="1.1"
- inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
- sodipodi:docname="spaces.svg">
- <defs
- id="defs4">
- <marker
- inkscape:stockid="Arrow2Lend"
- orient="auto"
- refY="0.0"
- refX="0.0"
- id="Arrow2Lend"
- style="overflow:visible;">
- <path
- id="path3888"
- style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- transform="scale(1.1) rotate(180) translate(1,0)" />
- </marker>
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.8110012"
- inkscape:cx="320.68941"
- inkscape:cy="159.80509"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1920"
- inkscape:window-height="1021"
- inkscape:window-x="0"
- inkscape:window-y="30"
- inkscape:window-maximized="1"
- fit-margin-top="0"
- fit-margin-left="0"
- fit-margin-right="0"
- fit-margin-bottom="0"
- units="px"
- showborder="false"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-12.627039,-339.86462)">
- <rect
- style="fill:#ffffff;fill-opacity:1;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:3,3;stroke-dashoffset:0"
- id="rect2985"
- width="687.36469"
- height="326.85971"
- x="13.188287"
- y="340.42587"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113" />
- <rect
- style="fill:#f3fff3;fill-opacity:1;stroke:#00b800;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="rect3757"
- width="318.05698"
- height="277.04684"
- x="38.315689"
- y="366.05841"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113" />
- <rect
- style="fill:#f3fff3;fill-opacity:1;stroke:#00b800;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="rect3767"
- width="319.01456"
- height="198.09369"
- x="356.36722"
- y="366.01291"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113" />
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3769">
- <path
- d="m 365.3732,374.63632 0,2.73926 1.24023,0 c 0.45898,0 0.8138,-0.11881 1.06446,-0.35645 0.25064,-0.23762 0.37597,-0.57616 0.37597,-1.01562 0,-0.43619 -0.12533,-0.77311 -0.37597,-1.01074 -0.25066,-0.23763 -0.60548,-0.35644 -1.06446,-0.35645 l -1.24023,0 m -0.98633,-0.81054 2.22656,0 c 0.81706,0 1.43392,0.18555 1.85059,0.55664 0.41992,0.36784 0.62988,0.9082 0.62988,1.62109 0,0.7194 -0.20996,1.26302 -0.62988,1.63086 -0.41667,0.36784 -1.03353,0.55176 -1.85059,0.55176 l -1.24023,0 0,2.92968 -0.98633,0 0,-7.29003"
- style="font-size:10px"
- id="path3281" />
- <path
- d="m 373.37613,376.48691 c -0.10092,-0.0586 -0.21159,-0.10091 -0.33203,-0.12696 -0.11719,-0.0293 -0.2474,-0.0439 -0.39063,-0.0439 -0.50781,0 -0.89844,0.16602 -1.17187,0.49805 -0.27019,0.32878 -0.40528,0.80241 -0.40528,1.42089 l 0,2.88086 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.1888,-0.33202 0.43457,-0.57779 0.73731,-0.7373 0.30273,-0.16276 0.67057,-0.24414 1.10351,-0.24414 0.0618,0 0.13021,0.005 0.20508,0.0147 0.0749,0.007 0.15788,0.0179 0.24903,0.0342 l 0.005,0.92285"
- style="font-size:10px"
- id="path3283" />
- <path
- d="m 374.32828,375.64706 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3285" />
- <path
- d="m 381.35953,376.69687 c 0.2246,-0.40364 0.49316,-0.70149 0.80566,-0.89356 0.3125,-0.19205 0.68033,-0.28808 1.10352,-0.28808 0.56965,0 1.0091,0.2002 1.31836,0.60058 0.30923,0.39714 0.46385,0.96355 0.46386,1.69922 l 0,3.30078 -0.90332,0 0,-3.27148 c 0,-0.52408 -0.0928,-0.91308 -0.27832,-1.16699 -0.18555,-0.2539 -0.46875,-0.38086 -0.84961,-0.38086 -0.4655,0 -0.83334,0.15463 -1.10351,0.46387 -0.27019,0.30924 -0.40528,0.73079 -0.40528,1.26464 l 0,3.09082 -0.90332,0 0,-3.27148 c 0,-0.52734 -0.0928,-0.91634 -0.27832,-1.16699 -0.18555,-0.2539 -0.472,-0.38086 -0.85937,-0.38086 -0.45899,0 -0.82357,0.15625 -1.09375,0.46875 -0.27019,0.30925 -0.40528,0.72917 -0.40527,1.25976 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.20507,-0.33528 0.45084,-0.58267 0.7373,-0.74218 0.28646,-0.1595 0.62662,-0.23926 1.02051,-0.23926 0.39713,0 0.73404,0.10092 1.01074,0.30273 0.27994,0.20183 0.48665,0.4948 0.62012,0.87891"
- style="font-size:10px"
- id="path3287" />
- <path
- d="m 389.33316,378.36679 c -0.72591,0 -1.22884,0.083 -1.50879,0.24902 -0.27995,0.16602 -0.41992,0.44923 -0.41992,0.84961 0,0.31902 0.10416,0.57292 0.3125,0.76172 0.21159,0.18555 0.49804,0.27832 0.85937,0.27832 0.49805,0 0.89681,-0.17578 1.19629,-0.52734 0.30273,-0.35482 0.4541,-0.82519 0.45411,-1.41113 l 0,-0.2002 -0.89356,0 m 1.79199,-0.37109 0,3.12011 -0.89843,0 0,-0.83007 c -0.20509,0.33203 -0.46062,0.5778 -0.76661,0.7373 -0.30599,0.15625 -0.68034,0.23438 -1.12304,0.23438 -0.5599,0 -1.00586,-0.15625 -1.33789,-0.46875 -0.32878,-0.31576 -0.49317,-0.73731 -0.49317,-1.26465 0,-0.61523 0.20508,-1.0791 0.61524,-1.3916 0.41341,-0.3125 1.02864,-0.46875 1.8457,-0.46875 l 1.25977,0 0,-0.0879 c -10e-6,-0.41341 -0.13673,-0.73242 -0.41016,-0.95704 -0.27019,-0.22786 -0.65105,-0.34179 -1.14258,-0.34179 -0.3125,0 -0.61686,0.0374 -0.91309,0.1123 -0.29622,0.0749 -0.58105,0.18718 -0.85449,0.33692 l 0,-0.83008 c 0.32878,-0.12695 0.64779,-0.22135 0.95703,-0.28321 0.30925,-0.0651 0.61035,-0.0977 0.90332,-0.0977 0.79102,0 1.38184,0.20508 1.77247,0.61523 0.39062,0.41016 0.58593,1.03191 0.58593,1.86524"
- style="font-size:10px"
- id="path3289" />
- <path
- d="m 396.14957,376.48691 c -0.10092,-0.0586 -0.2116,-0.10091 -0.33203,-0.12696 -0.1172,-0.0293 -0.2474,-0.0439 -0.39063,-0.0439 -0.50781,0 -0.89844,0.16602 -1.17187,0.49805 -0.27019,0.32878 -0.40528,0.80241 -0.40528,1.42089 l 0,2.88086 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.1888,-0.33202 0.43457,-0.57779 0.73731,-0.7373 0.30273,-0.16276 0.67057,-0.24414 1.10351,-0.24414 0.0618,0 0.13021,0.005 0.20508,0.0147 0.0749,0.007 0.15787,0.0179 0.24902,0.0342 l 0.005,0.92285"
- style="font-size:10px"
- id="path3291" />
- <path
- d="m 399.37711,381.62363 c -0.25391,0.65104 -0.50131,1.07584 -0.74219,1.27441 -0.24089,0.19857 -0.56315,0.29785 -0.9668,0.29785 l -0.71777,0 0,-0.75195 0.52734,0 c 0.2474,0 0.43945,-0.0586 0.57617,-0.17578 0.13672,-0.11719 0.28809,-0.39388 0.45411,-0.83008 l 0.16113,-0.41016 -2.21192,-5.38086 0.95215,0 1.70899,4.27735 1.70898,-4.27735 0.95215,0 -2.40234,5.97657"
- style="font-size:10px"
- id="path3293" />
- <path
- d="m 410.46109,376.69687 c 0.2246,-0.40364 0.49316,-0.70149 0.80566,-0.89356 0.3125,-0.19205 0.68034,-0.28808 1.10352,-0.28808 0.56965,0 1.00911,0.2002 1.31836,0.60058 0.30924,0.39714 0.46386,0.96355 0.46387,1.69922 l 0,3.30078 -0.90332,0 0,-3.27148 c -1e-5,-0.52408 -0.0928,-0.91308 -0.27832,-1.16699 -0.18556,-0.2539 -0.46876,-0.38086 -0.84961,-0.38086 -0.4655,0 -0.83334,0.15463 -1.10352,0.46387 -0.27019,0.30924 -0.40528,0.73079 -0.40527,1.26464 l 0,3.09082 -0.90332,0 0,-3.27148 c -10e-6,-0.52734 -0.0928,-0.91634 -0.27832,-1.16699 -0.18555,-0.2539 -0.47201,-0.38086 -0.85938,-0.38086 -0.45899,0 -0.82357,0.15625 -1.09375,0.46875 -0.27018,0.30925 -0.40527,0.72917 -0.40527,1.25976 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.20507,-0.33528 0.45084,-0.58267 0.7373,-0.74218 0.28646,-0.1595 0.62663,-0.23926 1.02051,-0.23926 0.39713,0 0.73405,0.10092 1.01074,0.30273 0.27995,0.20183 0.48665,0.4948 0.62012,0.87891"
- style="font-size:10px"
- id="path3295" />
- <path
- d="m 418.06851,376.27695 c -0.48177,0 -0.86263,0.1888 -1.14258,0.5664 -0.27995,0.37436 -0.41992,0.88868 -0.41992,1.54297 0,0.6543 0.13835,1.17025 0.41504,1.54785 0.27995,0.37435 0.66243,0.56153 1.14746,0.56153 0.47851,0 0.85775,-0.1888 1.1377,-0.56641 0.27994,-0.3776 0.41991,-0.89192 0.41992,-1.54297 -10e-6,-0.64778 -0.13998,-1.16048 -0.41992,-1.53808 -0.27995,-0.38086 -0.65919,-0.57129 -1.1377,-0.57129 m 0,-0.76172 c 0.78125,0 1.39485,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66895,2.10937 -1e-5,0.89519 -0.22299,1.59831 -0.66895,2.10938 -0.44597,0.50781 -1.05957,0.76172 -1.84082,0.76172 -0.78451,0 -1.39974,-0.25391 -1.8457,-0.76172 -0.44271,-0.51107 -0.66406,-1.21419 -0.66406,-2.10938 0,-0.89843 0.22135,-1.60156 0.66406,-2.10937 0.44596,-0.50781 1.06119,-0.76172 1.8457,-0.76172"
- style="font-size:10px"
- id="path3297" />
- <path
- d="m 426.60855,377.81503 0,3.30078 -0.89844,0 0,-3.27148 c 0,-0.51757 -0.10091,-0.90494 -0.30273,-1.16211 -0.20183,-0.25716 -0.50456,-0.38574 -0.9082,-0.38574 -0.48503,0 -0.86752,0.15463 -1.14746,0.46387 -0.27995,0.30924 -0.41993,0.73079 -0.41993,1.26464 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.21484,-0.32877 0.46712,-0.57454 0.75684,-0.7373 0.29297,-0.16276 0.62988,-0.24414 1.01074,-0.24414 0.62825,0 1.10351,0.19532 1.42578,0.58594 0.32226,0.38737 0.4834,0.95866 0.4834,1.71386"
- style="font-size:10px"
- id="path3299" />
- <path
- d="m 428.41031,375.64706 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3301" />
- <path
- d="m 432.07242,374.09433 0,1.55273 1.85058,0 0,0.69825 -1.85058,0 0,2.96875 c 0,0.44596 0.0602,0.73242 0.18066,0.85937 0.1237,0.12696 0.37272,0.19043 0.74707,0.19043 l 0.92285,0 0,0.75195 -0.92285,0 c -0.69336,0 -1.17187,-0.12858 -1.43554,-0.38574 -0.26368,-0.26041 -0.39551,-0.73242 -0.39551,-1.41601 l 0,-2.96875 -0.65918,0 0,-0.69825 0.65918,0 0,-1.55273 0.90332,0"
- style="font-size:10px"
- id="path3303" />
- <path
- d="m 437.22867,376.27695 c -0.48178,0 -0.86263,0.1888 -1.14258,0.5664 -0.27995,0.37436 -0.41992,0.88868 -0.41992,1.54297 0,0.6543 0.13834,1.17025 0.41504,1.54785 0.27994,0.37435 0.66243,0.56153 1.14746,0.56153 0.47851,0 0.85774,-0.1888 1.13769,-0.56641 0.27995,-0.3776 0.41992,-0.89192 0.41993,-1.54297 -1e-5,-0.64778 -0.13998,-1.16048 -0.41993,-1.53808 -0.27995,-0.38086 -0.65918,-0.57129 -1.13769,-0.57129 m 0,-0.76172 c 0.78124,0 1.39485,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66894,2.10937 0,0.89519 -0.22298,1.59831 -0.66894,2.10938 -0.44597,0.50781 -1.05958,0.76172 -1.84082,0.76172 -0.78451,0 -1.39974,-0.25391 -1.8457,-0.76172 -0.44271,-0.51107 -0.66407,-1.21419 -0.66407,-2.10938 0,-0.89843 0.22136,-1.60156 0.66407,-2.10937 0.44596,-0.50781 1.06119,-0.76172 1.8457,-0.76172"
- style="font-size:10px"
- id="path3305" />
- <path
- d="m 444.39175,376.48691 c -0.10091,-0.0586 -0.21159,-0.10091 -0.33203,-0.12696 -0.11719,-0.0293 -0.2474,-0.0439 -0.39062,-0.0439 -0.50782,0 -0.89844,0.16602 -1.17188,0.49805 -0.27018,0.32878 -0.40527,0.80241 -0.40527,1.42089 l 0,2.88086 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.1888,-0.33202 0.43457,-0.57779 0.7373,-0.7373 0.30274,-0.16276 0.67057,-0.24414 1.10352,-0.24414 0.0618,0 0.1302,0.005 0.20508,0.0147 0.0749,0.007 0.15787,0.0179 0.24902,0.0342 l 0.005,0.92285"
- style="font-size:10px"
- id="path3307" />
- <path
- d="m 449.39664,380.2955 0,2.90039 -0.90332,0 0,-7.54883 0.90332,0 0,0.83008 c 0.1888,-0.32551 0.42643,-0.5664 0.71289,-0.72265 0.28971,-0.1595 0.63476,-0.23926 1.03515,-0.23926 0.66406,0 1.2028,0.26368 1.61621,0.79101 0.41667,0.52735 0.625,1.22071 0.625,2.08008 0,0.85938 -0.20833,1.55274 -0.625,2.08008 -0.41341,0.52734 -0.95215,0.79102 -1.61621,0.79102 -0.40039,0 -0.74544,-0.0781 -1.03515,-0.23438 -0.28646,-0.1595 -0.52409,-0.40202 -0.71289,-0.72754 m 3.05664,-1.90918 c -1e-5,-0.6608 -0.13673,-1.17838 -0.41016,-1.55273 -0.27019,-0.3776 -0.64291,-0.5664 -1.11816,-0.56641 -0.47527,1e-5 -0.84961,0.18881 -1.12305,0.56641 -0.27018,0.37435 -0.40527,0.89193 -0.40527,1.55273 0,0.66081 0.13509,1.18002 0.40527,1.55762 0.27344,0.37435 0.64778,0.56152 1.12305,0.56152 0.47525,0 0.84797,-0.18717 1.11816,-0.56152 0.27343,-0.3776 0.41015,-0.89681 0.41016,-1.55762"
- style="font-size:10px"
- id="path3309" />
- <path
- d="m 456.99429,376.27695 c -0.48177,0 -0.86263,0.1888 -1.14257,0.5664 -0.27995,0.37436 -0.41993,0.88868 -0.41993,1.54297 0,0.6543 0.13835,1.17025 0.41504,1.54785 0.27995,0.37435 0.66243,0.56153 1.14746,0.56153 0.47852,0 0.85775,-0.1888 1.1377,-0.56641 0.27994,-0.3776 0.41992,-0.89192 0.41992,-1.54297 0,-0.64778 -0.13998,-1.16048 -0.41992,-1.53808 -0.27995,-0.38086 -0.65918,-0.57129 -1.1377,-0.57129 m 0,-0.76172 c 0.78125,0 1.39486,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66895,2.10937 -10e-6,0.89519 -0.22299,1.59831 -0.66895,2.10938 -0.44596,0.50781 -1.05957,0.76172 -1.84082,0.76172 -0.7845,0 -1.39974,-0.25391 -1.8457,-0.76172 -0.44271,-0.51107 -0.66406,-1.21419 -0.66406,-2.10938 0,-0.89843 0.22135,-1.60156 0.66406,-2.10937 0.44596,-0.50781 1.0612,-0.76172 1.8457,-0.76172"
- style="font-size:10px"
- id="path3311" />
- <path
- d="m 464.47476,375.8082 0,0.84961 c -0.25391,-0.13021 -0.51758,-0.22786 -0.79101,-0.29297 -0.27344,-0.0651 -0.55665,-0.0976 -0.84961,-0.0977 -0.44597,1e-5 -0.78126,0.0684 -1.00586,0.20508 -0.22136,0.13672 -0.33204,0.3418 -0.33203,0.61523 -10e-6,0.20834 0.0798,0.37273 0.23925,0.49317 0.15951,0.11719 0.48015,0.22949 0.96192,0.33691 l 0.30762,0.0684 c 0.63801,0.13672 1.09049,0.33041 1.35742,0.58106 0.27017,0.24739 0.40527,0.59407 0.40527,1.04004 0,0.50781 -0.20183,0.90983 -0.60547,1.20605 -0.40039,0.29622 -0.95215,0.44434 -1.65527,0.44434 -0.29297,0 -0.59896,-0.0293 -0.91797,-0.0879 -0.31576,-0.0553 -0.64942,-0.13998 -1.00098,-0.25391 l 0,-0.92774 c 0.33203,0.17253 0.65918,0.30274 0.98145,0.39063 0.32226,0.0846 0.64127,0.12695 0.95703,0.12695 0.42317,0 0.74869,-0.0716 0.97656,-0.21484 0.22786,-0.14648 0.3418,-0.35156 0.3418,-0.61524 0,-0.24413 -0.083,-0.43131 -0.24902,-0.56152 -0.16277,-0.13021 -0.52247,-0.25553 -1.07911,-0.37598 l -0.3125,-0.0732 c -0.55664,-0.11718 -0.95866,-0.29622 -1.20605,-0.53711 -0.2474,-0.24413 -0.37109,-0.57779 -0.37109,-1.00097 0,-0.51432 0.18229,-0.91146 0.54687,-1.19141 0.36458,-0.27994 0.88216,-0.41992 1.55274,-0.41992 0.33202,0 0.64452,0.0244 0.9375,0.0732 0.29296,0.0488 0.56314,0.12208 0.81054,0.21973"
- style="font-size:10px"
- id="path3313" />
- <path
- d="m 466.20328,375.64706 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3315" />
- <path
- d="m 469.86539,374.09433 0,1.55273 1.85058,0 0,0.69825 -1.85058,0 0,2.96875 c 0,0.44596 0.0602,0.73242 0.18066,0.85937 0.1237,0.12696 0.37272,0.19043 0.74707,0.19043 l 0.92285,0 0,0.75195 -0.92285,0 c -0.69336,0 -1.17188,-0.12858 -1.43555,-0.38574 -0.26367,-0.26041 -0.3955,-0.73242 -0.3955,-1.41601 l 0,-2.96875 -0.65918,0 0,-0.69825 0.65918,0 0,-1.55273 0.90332,0"
- style="font-size:10px"
- id="path3317" />
- <path
- d="m 472.9025,375.64706 0.89843,0 0,5.46875 -0.89843,0 0,-5.46875 m 0,-2.1289 0.89843,0 0,1.13769 -0.89843,0 0,-1.13769"
- style="font-size:10px"
- id="path3319" />
- <path
- d="m 477.79507,376.27695 c -0.48177,0 -0.86263,0.1888 -1.14257,0.5664 -0.27995,0.37436 -0.41993,0.88868 -0.41993,1.54297 0,0.6543 0.13835,1.17025 0.41504,1.54785 0.27995,0.37435 0.66244,0.56153 1.14746,0.56153 0.47852,0 0.85775,-0.1888 1.1377,-0.56641 0.27994,-0.3776 0.41992,-0.89192 0.41992,-1.54297 0,-0.64778 -0.13998,-1.16048 -0.41992,-1.53808 -0.27995,-0.38086 -0.65918,-0.57129 -1.1377,-0.57129 m 0,-0.76172 c 0.78125,0 1.39486,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66895,2.10937 -1e-5,0.89519 -0.22299,1.59831 -0.66895,2.10938 -0.44596,0.50781 -1.05957,0.76172 -1.84082,0.76172 -0.7845,0 -1.39974,-0.25391 -1.8457,-0.76172 -0.44271,-0.51107 -0.66406,-1.21419 -0.66406,-2.10938 0,-0.89843 0.22135,-1.60156 0.66406,-2.10937 0.44596,-0.50781 1.0612,-0.76172 1.8457,-0.76172"
- style="font-size:10px"
- id="path3321" />
- <path
- d="m 486.33511,377.81503 0,3.30078 -0.89843,0 0,-3.27148 c -1e-5,-0.51757 -0.10092,-0.90494 -0.30274,-1.16211 -0.20183,-0.25716 -0.50456,-0.38574 -0.9082,-0.38574 -0.48503,0 -0.86752,0.15463 -1.14746,0.46387 -0.27995,0.30924 -0.41993,0.73079 -0.41992,1.26464 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.21484,-0.32877 0.46712,-0.57454 0.75683,-0.7373 0.29297,-0.16276 0.62988,-0.24414 1.01074,-0.24414 0.62825,0 1.10351,0.19532 1.42579,0.58594 0.32226,0.38737 0.48339,0.95866 0.48339,1.71386"
- style="font-size:10px"
- id="path3323" />
- </g>
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#00b800;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3773">
- <path
- d="m 242.85294,625.22699 0,1.1543 c -0.44923,-0.21484 -0.87306,-0.375 -1.27149,-0.48047 -0.39844,-0.10546 -0.78321,-0.1582 -1.1543,-0.15821 -0.64453,10e-6 -1.14258,0.12501 -1.49414,0.375 -0.34765,0.25001 -0.52148,0.60548 -0.52148,1.06641 0,0.38673 0.11523,0.67969 0.3457,0.87891 0.23438,0.19532 0.67578,0.35352 1.32422,0.47461 l 0.71485,0.14648 c 0.8828,0.16797 1.53319,0.46485 1.95117,0.89063 0.42187,0.42187 0.6328,0.98828 0.63281,1.69921 -1e-5,0.84766 -0.28516,1.49024 -0.85547,1.92774 -0.56641,0.4375 -1.39844,0.65625 -2.49609,0.65625 -0.41407,0 -0.85547,-0.0469 -1.32422,-0.14063 -0.46485,-0.0937 -0.94727,-0.23242 -1.44727,-0.41601 l 0,-1.21875 c 0.48047,0.26953 0.95117,0.47266 1.41211,0.60937 0.46094,0.13672 0.91406,0.20508 1.35938,0.20508 0.67577,0 1.19726,-0.13281 1.56445,-0.39844 0.36718,-0.26562 0.55078,-0.64453 0.55078,-1.13671 0,-0.42969 -0.13282,-0.76563 -0.39844,-1.00782 -0.26172,-0.24218 -0.69336,-0.42382 -1.29492,-0.54492 l -0.7207,-0.14062 c -0.88282,-0.17578 -1.52149,-0.45117 -1.91602,-0.82618 -0.39453,-0.37499 -0.59179,-0.89647 -0.59179,-1.56445 0,-0.77343 0.27148,-1.3828 0.81445,-1.82812 0.54687,-0.44531 1.29882,-0.66796 2.25586,-0.66797 0.41015,10e-6 0.82812,0.0371 1.25391,0.11133 0.42577,0.0742 0.86132,0.18555 1.30664,0.33398"
- style=""
- id="path3355" />
- <path
- d="m 250.79239,630.13715 0,0.52734 -4.95703,0 c 0.0469,0.74219 0.26953,1.3086 0.66797,1.69922 0.40234,0.38672 0.96093,0.58008 1.67578,0.58008 0.41406,0 0.81445,-0.0508 1.20117,-0.15235 0.39062,-0.10156 0.77734,-0.2539 1.16016,-0.45703 l 0,1.01953 c -0.38673,0.16407 -0.78321,0.28907 -1.18946,0.375 -0.40625,0.0859 -0.81836,0.12891 -1.23633,0.12891 -1.04687,0 -1.87695,-0.30469 -2.49023,-0.91406 -0.60938,-0.60938 -0.91406,-1.43359 -0.91406,-2.47266 0,-1.07421 0.28906,-1.92578 0.86719,-2.55469 0.58202,-0.6328 1.36523,-0.94921 2.3496,-0.94922 0.88281,10e-6 1.58008,0.28517 2.0918,0.85547 0.51562,0.56641 0.77343,1.3379 0.77344,2.31446 m -1.07813,-0.31641 c -0.008,-0.58984 -0.17383,-1.06054 -0.49804,-1.41211 -0.32032,-0.35156 -0.7461,-0.52734 -1.27735,-0.52734 -0.60156,0 -1.08398,0.16992 -1.44726,0.50976 -0.35938,0.33985 -0.56641,0.81837 -0.6211,1.43555 l 3.84375,-0.006"
- style=""
- id="path3357" />
- <path
- d="m 257.28458,627.37738 0,1.00781 c -0.3047,-0.16796 -0.61134,-0.29296 -0.91993,-0.375 -0.30469,-0.0859 -0.61328,-0.1289 -0.92578,-0.1289 -0.69922,0 -1.24219,0.22266 -1.6289,0.66797 -0.38672,0.44141 -0.58008,1.0625 -0.58008,1.86328 0,0.80078 0.19336,1.42383 0.58008,1.86914 0.38671,0.4414 0.92968,0.66211 1.6289,0.66211 0.3125,0 0.62109,-0.041 0.92578,-0.12305 0.30859,-0.0859 0.61523,-0.21289 0.91993,-0.38086 l 0,0.99609 c -0.30079,0.14063 -0.61329,0.2461 -0.9375,0.31641 -0.32032,0.0703 -0.66212,0.10547 -1.02539,0.10547 -0.98829,0 -1.77344,-0.31055 -2.35547,-0.93164 -0.58204,-0.62109 -0.87305,-1.45898 -0.87305,-2.51367 0,-1.07031 0.29297,-1.91211 0.87891,-2.52539 0.58984,-0.61328 1.39648,-0.91992 2.41992,-0.91993 0.33203,10e-6 0.65624,0.0352 0.97265,0.10547 0.31641,0.0664 0.62305,0.16798 0.91993,0.30469"
- style=""
- id="path3359" />
- <path
- d="m 261.71426,627.88129 c -0.57812,0 -1.03515,0.22656 -1.37109,0.67968 -0.33594,0.44923 -0.50391,1.06641 -0.50391,1.85157 0,0.78516 0.16602,1.4043 0.49805,1.85742 0.33594,0.44922 0.79492,0.67383 1.37695,0.67383 0.57422,0 1.0293,-0.22656 1.36524,-0.67969 0.33593,-0.45312 0.5039,-1.07031 0.5039,-1.85156 0,-0.77734 -0.16797,-1.39258 -0.5039,-1.84571 -0.33594,-0.45702 -0.79102,-0.68554 -1.36524,-0.68554 m 0,-0.91407 c 0.9375,10e-6 1.67383,0.3047 2.20899,0.91407 0.53515,0.60938 0.80273,1.45313 0.80273,2.53125 0,1.07422 -0.26758,1.91797 -0.80273,2.53125 -0.53516,0.60937 -1.27149,0.91406 -2.20899,0.91406 -0.94141,0 -1.67969,-0.30469 -2.21484,-0.91406 -0.53125,-0.61328 -0.79688,-1.45703 -0.79687,-2.53125 -10e-6,-1.07812 0.26562,-1.92187 0.79687,-2.53125 0.53515,-0.60937 1.27343,-0.91406 2.21484,-0.91407"
- style=""
- id="path3361" />
- <path
- d="m 271.96231,629.72699 0,3.96094 -1.07812,0 0,-3.92578 c -10e-6,-0.62109 -0.1211,-1.08594 -0.36329,-1.39454 -0.24219,-0.30858 -0.60547,-0.46288 -1.08984,-0.46289 -0.58203,10e-6 -1.04102,0.18556 -1.37695,0.55664 -0.33594,0.3711 -0.50391,0.87696 -0.50391,1.51758 l 0,3.70899 -1.08398,0 0,-6.5625 1.08398,0 0,1.01953 c 0.25781,-0.39453 0.56055,-0.68945 0.9082,-0.88477 0.35156,-0.1953 0.75586,-0.29296 1.2129,-0.29297 0.7539,10e-6 1.32421,0.23439 1.71093,0.70313 0.38672,0.46485 0.58007,1.15039 0.58008,2.05664"
- style=""
- id="path3363" />
- <path
- d="m 278.44278,628.12152 0,-3.55078 1.07812,0 0,9.11719 -1.07812,0 0,-0.98438 c -0.22657,0.39063 -0.51368,0.68164 -0.86133,0.87305 -0.34375,0.1875 -0.75781,0.28125 -1.24219,0.28125 -0.79297,0 -1.43945,-0.31641 -1.93945,-0.94922 -0.49609,-0.63281 -0.74414,-1.46484 -0.74414,-2.49609 0,-1.03125 0.24805,-1.86328 0.74414,-2.4961 0.5,-0.6328 1.14648,-0.94921 1.93945,-0.94922 0.48438,10e-6 0.89844,0.0957 1.24219,0.28711 0.34765,0.18751 0.63476,0.47657 0.86133,0.86719 m -3.67383,2.29102 c 0,0.79297 0.16211,1.41601 0.48633,1.86914 0.32812,0.44922 0.77734,0.67383 1.34766,0.67383 0.5703,0 1.01952,-0.22461 1.34765,-0.67383 0.32812,-0.45313 0.49218,-1.07617 0.49219,-1.86914 -1e-5,-0.79297 -0.16407,-1.41406 -0.49219,-1.86328 -0.32813,-0.45312 -0.77735,-0.67969 -1.34765,-0.67969 -0.57032,0 -1.01954,0.22657 -1.34766,0.67969 -0.32422,0.44922 -0.48633,1.07031 -0.48633,1.86328"
- style=""
- id="path3365" />
- <path
- d="m 284.72403,630.3891 c -0.8711,0 -1.47461,0.0996 -1.81055,0.29883 -0.33594,0.19922 -0.50391,0.53906 -0.5039,1.01953 -1e-5,0.38281 0.12499,0.6875 0.375,0.91406 0.2539,0.22266 0.59765,0.33399 1.03125,0.33399 0.59765,0 1.07616,-0.21094 1.43554,-0.63282 0.36328,-0.42578 0.54492,-0.99023 0.54493,-1.69336 l 0,-0.24023 -1.07227,0 m 2.15039,-0.44531 0,3.74414 -1.07812,0 0,-0.9961 c -0.2461,0.39844 -0.55274,0.69336 -0.91993,0.88477 -0.36719,0.1875 -0.81641,0.28125 -1.34765,0.28125 -0.67188,0 -1.20704,-0.1875 -1.60547,-0.5625 -0.39453,-0.37891 -0.5918,-0.88477 -0.5918,-1.51758 0,-0.73828 0.24609,-1.29492 0.73828,-1.66992 0.49609,-0.375 1.23437,-0.5625 2.21485,-0.5625 l 1.51172,0 0,-0.10547 c -10e-6,-0.49609 -0.16407,-0.8789 -0.49219,-1.14844 -0.32423,-0.27343 -0.78126,-0.41015 -1.3711,-0.41015 -0.375,0 -0.74023,0.0449 -1.0957,0.13476 -0.35547,0.0899 -0.69727,0.22462 -1.02539,0.4043 l 0,-0.99609 c 0.39453,-0.15234 0.77734,-0.26562 1.14844,-0.33985 0.37109,-0.0781 0.73242,-0.11718 1.08398,-0.11719 0.94922,10e-6 1.6582,0.2461 2.12696,0.73829 0.46874,0.49219 0.70311,1.23828 0.70312,2.23828"
- style=""
- id="path3367" />
- <path
- d="m 292.90372,628.13324 c -0.1211,-0.0703 -0.25391,-0.12109 -0.39844,-0.15234 -0.14063,-0.0352 -0.29688,-0.0527 -0.46875,-0.0527 -0.60938,10e-6 -1.07813,0.19923 -1.40625,0.59766 -0.32422,0.39453 -0.48633,0.96289 -0.48633,1.70508 l 0,3.45703 -1.08398,0 0,-6.5625 1.08398,0 0,1.01953 c 0.22656,-0.39843 0.52148,-0.69335 0.88477,-0.88477 0.36327,-0.1953 0.80468,-0.29296 1.32422,-0.29297 0.0742,10e-6 0.15624,0.006 0.24609,0.0176 0.0898,0.008 0.18945,0.0215 0.29883,0.041 l 0.006,1.10742"
- style=""
- id="path3369" />
- <path
- d="m 296.77676,634.2973 c -0.30469,0.78125 -0.60156,1.29102 -0.89062,1.5293 -0.28907,0.23828 -0.67578,0.35742 -1.16016,0.35742 l -0.86133,0 0,-0.90234 0.63282,0 c 0.29687,0 0.52734,-0.0703 0.6914,-0.21094 0.16406,-0.14063 0.3457,-0.47266 0.54493,-0.99609 l 0.19335,-0.49219 -2.65429,-6.45703 1.14258,0 2.05078,5.13281 2.05078,-5.13281 1.14258,0 -2.88282,7.17187"
- style=""
- id="path3371" />
- <path
- d="m 305.01505,624.93988 1.76367,0 2.23242,5.95313 2.24414,-5.95313 1.76367,0 0,8.74805 -1.1543,0 0,-7.68164 -2.25585,6 -1.18946,0 -2.25586,-6 0,7.68164 -1.14843,0 0,-8.74805"
- style=""
- id="path3373" />
- <path
- d="m 317.87051,627.88129 c -0.57812,0 -1.03515,0.22656 -1.37109,0.67968 -0.33594,0.44923 -0.50391,1.06641 -0.50391,1.85157 0,0.78516 0.16602,1.4043 0.49805,1.85742 0.33594,0.44922 0.79492,0.67383 1.37695,0.67383 0.57422,0 1.0293,-0.22656 1.36524,-0.67969 0.33593,-0.45312 0.5039,-1.07031 0.5039,-1.85156 0,-0.77734 -0.16797,-1.39258 -0.5039,-1.84571 -0.33594,-0.45702 -0.79102,-0.68554 -1.36524,-0.68554 m 0,-0.91407 c 0.9375,10e-6 1.67383,0.3047 2.20899,0.91407 0.53515,0.60938 0.80273,1.45313 0.80273,2.53125 0,1.07422 -0.26758,1.91797 -0.80273,2.53125 -0.53516,0.60937 -1.27149,0.91406 -2.20899,0.91406 -0.94141,0 -1.67969,-0.30469 -2.21484,-0.91406 -0.53125,-0.61328 -0.79688,-1.45703 -0.79687,-2.53125 -10e-6,-1.07812 0.26562,-1.92187 0.79687,-2.53125 0.53515,-0.60937 1.27343,-0.91406 2.21484,-0.91407"
- style=""
- id="path3375" />
- <path
- d="m 328.11856,629.72699 0,3.96094 -1.07812,0 0,-3.92578 c -10e-6,-0.62109 -0.1211,-1.08594 -0.36329,-1.39454 -0.24219,-0.30858 -0.60547,-0.46288 -1.08984,-0.46289 -0.58203,10e-6 -1.04102,0.18556 -1.37695,0.55664 -0.33594,0.3711 -0.50391,0.87696 -0.50391,1.51758 l 0,3.70899 -1.08398,0 0,-6.5625 1.08398,0 0,1.01953 c 0.25781,-0.39453 0.56055,-0.68945 0.9082,-0.88477 0.35156,-0.1953 0.75586,-0.29296 1.2129,-0.29297 0.7539,10e-6 1.32421,0.23439 1.71093,0.70313 0.38672,0.46485 0.58007,1.15039 0.58008,2.05664"
- style=""
- id="path3377" />
- <path
- d="m 330.28067,627.12543 1.07813,0 0,6.5625 -1.07813,0 0,-6.5625 m 0,-2.55469 1.07813,0 0,1.36523 -1.07813,0 0,-1.36523"
- style=""
- id="path3379" />
- <path
- d="m 334.6752,625.26215 0,1.86328 2.2207,0 0,0.83789 -2.2207,0 0,3.5625 c 0,0.53516 0.0723,0.87891 0.2168,1.03125 0.14843,0.15234 0.44726,0.22851 0.89648,0.22851 l 1.10742,0 0,0.90235 -1.10742,0 c -0.83203,0 -1.40625,-0.1543 -1.72265,-0.46289 -0.31641,-0.3125 -0.47461,-0.87891 -0.47461,-1.69922 l 0,-3.5625 -0.79102,0 0,-0.83789 0.79102,0 0,-1.86328 1.08398,0"
- style=""
- id="path3381" />
- <path
- d="m 340.8627,627.88129 c -0.57813,0 -1.03516,0.22656 -1.37109,0.67968 -0.33594,0.44923 -0.50391,1.06641 -0.50391,1.85157 0,0.78516 0.16602,1.4043 0.49805,1.85742 0.33593,0.44922 0.79492,0.67383 1.37695,0.67383 0.57422,0 1.02929,-0.22656 1.36524,-0.67969 0.33593,-0.45312 0.5039,-1.07031 0.5039,-1.85156 0,-0.77734 -0.16797,-1.39258 -0.5039,-1.84571 -0.33595,-0.45702 -0.79102,-0.68554 -1.36524,-0.68554 m 0,-0.91407 c 0.9375,10e-6 1.67382,0.3047 2.20899,0.91407 0.53515,0.60938 0.80272,1.45313 0.80273,2.53125 -10e-6,1.07422 -0.26758,1.91797 -0.80273,2.53125 -0.53517,0.60937 -1.27149,0.91406 -2.20899,0.91406 -0.94141,0 -1.67969,-0.30469 -2.21484,-0.91406 -0.53125,-0.61328 -0.79688,-1.45703 -0.79688,-2.53125 0,-1.07812 0.26563,-1.92187 0.79688,-2.53125 0.53515,-0.60937 1.27343,-0.91406 2.21484,-0.91407"
- style=""
- id="path3383" />
- <path
- d="m 349.4584,628.13324 c -0.12109,-0.0703 -0.25391,-0.12109 -0.39843,-0.15234 -0.14063,-0.0352 -0.29688,-0.0527 -0.46875,-0.0527 -0.60938,10e-6 -1.07813,0.19923 -1.40625,0.59766 -0.32422,0.39453 -0.48633,0.96289 -0.48633,1.70508 l 0,3.45703 -1.08399,0 0,-6.5625 1.08399,0 0,1.01953 c 0.22656,-0.39843 0.52148,-0.69335 0.88476,-0.88477 0.36328,-0.1953 0.80469,-0.29296 1.32422,-0.29297 0.0742,10e-6 0.15625,0.006 0.2461,0.0176 0.0898,0.008 0.18945,0.0215 0.29883,0.041 l 0.006,1.10742"
- style=""
- id="path3385" />
- </g>
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#00b800;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3777">
- <path
- d="m 575.27002,547.52673 0,3.28711 1.48828,0 c 0.55078,10e-6 0.97656,-0.14257 1.27734,-0.42773 0.30078,-0.28515 0.45117,-0.6914 0.45118,-1.21875 -10e-6,-0.52343 -0.1504,-0.92773 -0.45118,-1.21289 -0.30078,-0.28515 -0.72656,-0.42773 -1.27734,-0.42774 l -1.48828,0 m -1.18359,-0.97265 2.67187,0 c 0.98046,10e-6 1.7207,0.22266 2.2207,0.66797 0.5039,0.44141 0.75586,1.08985 0.75586,1.94531 0,0.86328 -0.25196,1.51563 -0.75586,1.95703 -0.5,0.44141 -1.24024,0.66211 -2.2207,0.66211 l -1.48828,0 0,3.51562 -1.18359,0 0,-8.74804"
- style=""
- id="path3326" />
- <path
- d="m 584.87354,549.74744 c -0.1211,-0.0703 -0.25392,-0.12109 -0.39844,-0.15235 -0.14063,-0.0352 -0.29688,-0.0527 -0.46875,-0.0527 -0.60938,0 -1.07813,0.19922 -1.40625,0.59765 -0.32422,0.39454 -0.48633,0.9629 -0.48633,1.70508 l 0,3.45703 -1.08398,0 0,-6.5625 1.08398,0 0,1.01954 c 0.22656,-0.39844 0.52148,-0.69336 0.88477,-0.88477 0.36327,-0.19531 0.80468,-0.29296 1.32421,-0.29297 0.0742,10e-6 0.15625,0.006 0.2461,0.0176 0.0898,0.008 0.18945,0.0215 0.29883,0.041 l 0.006,1.10743"
- style=""
- id="path3328" />
- <path
- d="m 586.01611,548.73962 1.07813,0 0,6.5625 -1.07813,0 0,-6.5625 m 0,-2.55468 1.07813,0 0,1.36523 -1.07813,0 0,-1.36523"
- style=""
- id="path3330" />
- <path
- d="m 594.45361,549.99939 c 0.26953,-0.48437 0.59179,-0.84179 0.9668,-1.07227 0.37499,-0.23046 0.8164,-0.34569 1.32422,-0.3457 0.68358,10e-6 1.21093,0.24024 1.58203,0.7207 0.37108,0.47657 0.55663,1.15626 0.55664,2.03907 l 0,3.96093 -1.08398,0 0,-3.92578 c -10e-6,-0.6289 -0.11134,-1.0957 -0.33399,-1.40039 -0.22266,-0.30468 -0.56251,-0.45702 -1.01953,-0.45703 -0.5586,10e-6 -1.00001,0.18555 -1.32422,0.55664 -0.32422,0.3711 -0.48633,0.87696 -0.48633,1.51758 l 0,3.70898 -1.08398,0 0,-3.92578 c -1e-5,-0.63281 -0.11133,-1.0996 -0.33398,-1.40039 -0.22267,-0.30468 -0.56642,-0.45702 -1.03125,-0.45703 -0.55079,10e-6 -0.98829,0.18751 -1.3125,0.5625 -0.32423,0.3711 -0.48634,0.87501 -0.48633,1.51172 l 0,3.70898 -1.08399,0 0,-6.5625 1.08399,0 0,1.01954 c 0.24609,-0.40234 0.54101,-0.69922 0.88476,-0.89063 0.34375,-0.1914 0.75195,-0.2871 1.22461,-0.28711 0.47656,10e-6 0.88086,0.1211 1.21289,0.36328 0.33593,0.2422 0.58398,0.59376 0.74414,1.05469"
- style=""
- id="path3332" />
- <path
- d="m 604.02197,552.0033 c -0.87109,0 -1.47461,0.0996 -1.81054,0.29882 -0.33594,0.19923 -0.50391,0.53907 -0.50391,1.01954 0,0.38281 0.125,0.6875 0.375,0.91406 0.2539,0.22265 0.59765,0.33398 1.03125,0.33398 0.59765,0 1.07617,-0.21093 1.43555,-0.63281 0.36327,-0.42578 0.54491,-0.99023 0.54492,-1.69336 l 0,-0.24023 -1.07227,0 m 2.15039,-0.44532 0,3.74414 -1.07812,0 0,-0.99609 c -0.2461,0.39844 -0.55274,0.69336 -0.91992,0.88477 -0.36719,0.1875 -0.81641,0.28125 -1.34766,0.28125 -0.67188,0 -1.20703,-0.1875 -1.60547,-0.5625 -0.39453,-0.37891 -0.5918,-0.88477 -0.5918,-1.51758 0,-0.73828 0.2461,-1.29492 0.73829,-1.66992 0.49609,-0.375 1.23437,-0.5625 2.21484,-0.5625 l 1.51172,0 0,-0.10547 c -10e-6,-0.49609 -0.16407,-0.8789 -0.49219,-1.14844 -0.32422,-0.27343 -0.78125,-0.41015 -1.37109,-0.41016 -0.37501,10e-6 -0.74024,0.0449 -1.09571,0.13477 -0.35547,0.0898 -0.69726,0.22461 -1.02539,0.4043 l 0,-0.9961 c 0.39453,-0.15234 0.77735,-0.26562 1.14844,-0.33984 0.37109,-0.0781 0.73242,-0.11718 1.08399,-0.11719 0.94921,10e-6 1.65819,0.2461 2.12695,0.73828 0.46874,0.4922 0.70312,1.23829 0.70312,2.23828"
- style=""
- id="path3334" />
- <path
- d="m 612.20166,549.74744 c -0.1211,-0.0703 -0.25391,-0.12109 -0.39844,-0.15235 -0.14063,-0.0352 -0.29688,-0.0527 -0.46875,-0.0527 -0.60938,0 -1.07813,0.19922 -1.40625,0.59765 -0.32422,0.39454 -0.48633,0.9629 -0.48633,1.70508 l 0,3.45703 -1.08398,0 0,-6.5625 1.08398,0 0,1.01954 c 0.22656,-0.39844 0.52149,-0.69336 0.88477,-0.88477 0.36328,-0.19531 0.80468,-0.29296 1.32422,-0.29297 0.0742,10e-6 0.15624,0.006 0.24609,0.0176 0.0898,0.008 0.18945,0.0215 0.29883,0.041 l 0.006,1.10743"
- style=""
- id="path3336" />
- <path
- d="m 616.07471,555.9115 c -0.30469,0.78125 -0.60157,1.29101 -0.89063,1.5293 -0.28906,0.23827 -0.67578,0.35742 -1.16015,0.35742 l -0.86133,0 0,-0.90235 0.63281,0 c 0.29687,0 0.52734,-0.0703 0.69141,-0.21093 0.16406,-0.14063 0.3457,-0.47266 0.54492,-0.9961 l 0.19336,-0.49218 -2.6543,-6.45704 1.14258,0 2.05078,5.13282 2.05078,-5.13282 1.14258,0 -2.88281,7.17188"
- style=""
- id="path3338" />
- <path
- d="m 624.31299,546.55408 1.76367,0 2.23242,5.95312 2.24414,-5.95312 1.76367,0 0,8.74804 -1.15429,0 0,-7.68164 -2.25586,6 -1.18945,0 -2.25586,-6 0,7.68164 -1.14844,0 0,-8.74804"
- style=""
- id="path3340" />
- <path
- d="m 637.16846,549.49548 c -0.57813,10e-6 -1.03516,0.22657 -1.3711,0.67969 -0.33594,0.44922 -0.5039,1.06641 -0.5039,1.85156 0,0.78516 0.16601,1.4043 0.49804,1.85743 0.33594,0.44921 0.79492,0.67382 1.37696,0.67382 0.57421,0 1.02929,-0.22656 1.36523,-0.67968 0.33593,-0.45313 0.5039,-1.07031 0.50391,-1.85157 -10e-6,-0.77734 -0.16798,-1.39257 -0.50391,-1.8457 -0.33594,-0.45703 -0.79102,-0.68554 -1.36523,-0.68555 m 0,-0.91406 c 0.93749,10e-6 1.67382,0.30469 2.20898,0.91406 0.53515,0.60938 0.80273,1.45313 0.80274,2.53125 -10e-6,1.07422 -0.26759,1.91797 -0.80274,2.53125 -0.53516,0.60938 -1.27149,0.91407 -2.20898,0.91407 -0.94141,0 -1.67969,-0.30469 -2.21485,-0.91407 -0.53125,-0.61328 -0.79687,-1.45703 -0.79687,-2.53125 0,-1.07812 0.26562,-1.92187 0.79687,-2.53125 0.53516,-0.60937 1.27344,-0.91405 2.21485,-0.91406"
- style=""
- id="path3342" />
- <path
- d="m 647.4165,551.34119 0,3.96093 -1.07812,0 0,-3.92578 c -10e-6,-0.62109 -0.1211,-1.08593 -0.36328,-1.39453 -0.24219,-0.30859 -0.60548,-0.46288 -1.08985,-0.46289 -0.58203,10e-6 -1.04101,0.18555 -1.37695,0.55664 -0.33594,0.3711 -0.50391,0.87696 -0.50391,1.51758 l 0,3.70898 -1.08398,0 0,-6.5625 1.08398,0 0,1.01954 c 0.25781,-0.39453 0.56055,-0.68945 0.90821,-0.88477 0.35156,-0.19531 0.75585,-0.29296 1.21289,-0.29297 0.7539,10e-6 1.32421,0.23438 1.71094,0.70313 0.38671,0.46485 0.58007,1.15039 0.58007,2.05664"
- style=""
- id="path3344" />
- <path
- d="m 649.57861,548.73962 1.07813,0 0,6.5625 -1.07813,0 0,-6.5625 m 0,-2.55468 1.07813,0 0,1.36523 -1.07813,0 0,-1.36523"
- style=""
- id="path3346" />
- <path
- d="m 653.97314,546.87634 0,1.86328 2.22071,0 0,0.83789 -2.22071,0 0,3.5625 c 0,0.53516 0.0723,0.87891 0.2168,1.03125 0.14844,0.15235 0.44726,0.22852 0.89649,0.22852 l 1.10742,0 0,0.90234 -1.10742,0 c -0.83204,0 -1.40626,-0.15429 -1.72266,-0.46289 -0.31641,-0.3125 -0.47461,-0.8789 -0.47461,-1.69922 l 0,-3.5625 -0.79102,0 0,-0.83789 0.79102,0 0,-1.86328 1.08398,0"
- style=""
- id="path3348" />
- <path
- d="m 660.16064,549.49548 c -0.57812,10e-6 -1.03515,0.22657 -1.37109,0.67969 -0.33594,0.44922 -0.50391,1.06641 -0.50391,1.85156 0,0.78516 0.16602,1.4043 0.49805,1.85743 0.33594,0.44921 0.79492,0.67382 1.37695,0.67382 0.57422,0 1.0293,-0.22656 1.36524,-0.67968 0.33593,-0.45313 0.5039,-1.07031 0.50391,-1.85157 -1e-5,-0.77734 -0.16798,-1.39257 -0.50391,-1.8457 -0.33594,-0.45703 -0.79102,-0.68554 -1.36524,-0.68555 m 0,-0.91406 c 0.9375,10e-6 1.67383,0.30469 2.20899,0.91406 0.53515,0.60938 0.80273,1.45313 0.80273,2.53125 0,1.07422 -0.26758,1.91797 -0.80273,2.53125 -0.53516,0.60938 -1.27149,0.91407 -2.20899,0.91407 -0.9414,0 -1.67968,-0.30469 -2.21484,-0.91407 -0.53125,-0.61328 -0.79687,-1.45703 -0.79687,-2.53125 0,-1.07812 0.26562,-1.92187 0.79687,-2.53125 0.53516,-0.60937 1.27344,-0.91405 2.21484,-0.91406"
- style=""
- id="path3350" />
- <path
- d="m 668.75635,549.74744 c -0.1211,-0.0703 -0.25391,-0.12109 -0.39844,-0.15235 -0.14063,-0.0352 -0.29688,-0.0527 -0.46875,-0.0527 -0.60938,0 -1.07813,0.19922 -1.40625,0.59765 -0.32422,0.39454 -0.48633,0.9629 -0.48633,1.70508 l 0,3.45703 -1.08398,0 0,-6.5625 1.08398,0 0,1.01954 c 0.22656,-0.39844 0.52148,-0.69336 0.88477,-0.88477 0.36328,-0.19531 0.80468,-0.29296 1.32422,-0.29297 0.0742,10e-6 0.15624,0.006 0.24609,0.0176 0.0898,0.008 0.18945,0.0215 0.29883,0.041 l 0.006,1.10743"
- style=""
- id="path3352" />
- </g>
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#0000ff;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3781">
- <path
- d="m 612.64136,657.77118 -3.33985,-8.74805 1.23633,0 2.77149,7.36524 2.77734,-7.36524 1.23047,0 -3.33399,8.74805 -1.34179,0"
- style=""
- id="path3401" />
- <path
- d="m 618.28394,651.20868 1.07812,0 0,6.5625 -1.07812,0 0,-6.5625 m 0,-2.55469 1.07812,0 0,1.36524 -1.07812,0 0,-1.36524"
- style=""
- id="path3403" />
- <path
- d="m 625.41479,652.21649 c -0.12109,-0.0703 -0.25391,-0.12109 -0.39843,-0.15234 -0.14063,-0.0352 -0.29688,-0.0527 -0.46875,-0.0527 -0.60938,1e-5 -1.07813,0.19923 -1.40625,0.59766 -0.32422,0.39454 -0.48633,0.96289 -0.48633,1.70508 l 0,3.45703 -1.08399,0 0,-6.5625 1.08399,0 0,1.01953 c 0.22656,-0.39843 0.52148,-0.69335 0.88476,-0.88477 0.36328,-0.1953 0.80469,-0.29296 1.32422,-0.29296 0.0742,0 0.15625,0.006 0.2461,0.0176 0.0898,0.008 0.18945,0.0215 0.29883,0.041 l 0.006,1.10742"
- style=""
- id="path3405" />
- <path
- d="m 627.62378,649.3454 0,1.86328 2.2207,0 0,0.83789 -2.2207,0 0,3.5625 c 0,0.53516 0.0723,0.87891 0.2168,1.03125 0.14843,0.15234 0.44726,0.22852 0.89648,0.22852 l 1.10742,0 0,0.90234 -1.10742,0 c -0.83203,0 -1.40625,-0.1543 -1.72266,-0.46289 -0.3164,-0.3125 -0.47461,-0.87891 -0.47461,-1.69922 l 0,-3.5625 -0.79101,0 0,-0.83789 0.79101,0 0,-1.86328 1.08399,0"
- style=""
- id="path3407" />
- <path
- d="m 631.15698,655.18134 0,-3.97266 1.07813,0 0,3.93164 c 0,0.6211 0.12109,1.08789 0.36328,1.40039 0.24218,0.3086 0.60546,0.46289 1.08984,0.46289 0.58203,0 1.04101,-0.18554 1.37696,-0.55664 0.33983,-0.37109 0.50976,-0.87695 0.50976,-1.51758 l 0,-3.7207 1.07813,0 0,6.5625 -1.07813,0 0,-1.00781 c -0.26172,0.39843 -0.56641,0.69531 -0.91406,0.89062 -0.34376,0.19141 -0.74415,0.28711 -1.20117,0.28711 -0.75391,0 -1.32618,-0.23437 -1.7168,-0.70312 -0.39063,-0.46875 -0.58594,-1.1543 -0.58594,-2.05664 m 2.71289,-4.13086 0,0"
- style=""
- id="path3409" />
- <path
- d="m 641.86792,654.47235 c -0.8711,0 -1.47461,0.0996 -1.81055,0.29883 -0.33594,0.19922 -0.50391,0.53906 -0.5039,1.01953 -10e-6,0.38281 0.12499,0.6875 0.375,0.91406 0.2539,0.22266 0.59765,0.33399 1.03125,0.33399 0.59765,0 1.07616,-0.21094 1.43554,-0.63282 0.36328,-0.42577 0.54492,-0.99023 0.54493,-1.69335 l 0,-0.24024 -1.07227,0 m 2.15039,-0.44531 0,3.74414 -1.07812,0 0,-0.99609 c -0.2461,0.39843 -0.55274,0.69336 -0.91993,0.88476 -0.36719,0.1875 -0.81641,0.28125 -1.34765,0.28125 -0.67188,0 -1.20704,-0.1875 -1.60547,-0.5625 -0.39453,-0.3789 -0.5918,-0.88476 -0.5918,-1.51758 0,-0.73828 0.24609,-1.29492 0.73828,-1.66992 0.49609,-0.37499 1.23438,-0.56249 2.21485,-0.5625 l 1.51172,0 0,-0.10547 c -10e-6,-0.49609 -0.16407,-0.8789 -0.49219,-1.14844 -0.32423,-0.27343 -0.78126,-0.41015 -1.3711,-0.41015 -0.375,0 -0.74023,0.0449 -1.0957,0.13476 -0.35547,0.0899 -0.69727,0.22462 -1.02539,0.4043 l 0,-0.99609 c 0.39453,-0.15234 0.77734,-0.26562 1.14844,-0.33985 0.37109,-0.0781 0.73242,-0.11718 1.08398,-0.11718 0.94922,0 1.6582,0.2461 2.12696,0.73828 0.46874,0.49219 0.70311,1.23828 0.70312,2.23828"
- style=""
- id="path3411" />
- <path
- d="m 646.24487,648.65399 1.07813,0 0,9.11719 -1.07813,0 0,-9.11719"
- style=""
- id="path3413" />
- <path
- d="m 658.68433,649.31024 0,1.1543 c -0.44923,-0.21484 -0.87306,-0.37499 -1.27149,-0.48047 -0.39844,-0.10546 -0.78321,-0.1582 -1.1543,-0.1582 -0.64453,0 -1.14258,0.125 -1.49414,0.375 -0.34765,0.25 -0.52148,0.60547 -0.52148,1.0664 0,0.38673 0.11523,0.6797 0.3457,0.87891 0.23438,0.19532 0.67578,0.35352 1.32422,0.47461 l 0.71485,0.14648 c 0.8828,0.16798 1.53319,0.46485 1.95117,0.89063 0.42187,0.42188 0.6328,0.98828 0.63281,1.69922 -10e-6,0.84765 -0.28516,1.49023 -0.85547,1.92773 -0.56641,0.4375 -1.39844,0.65625 -2.49609,0.65625 -0.41407,0 -0.85547,-0.0469 -1.32422,-0.14062 -0.46485,-0.0937 -0.94727,-0.23243 -1.44727,-0.41602 l 0,-1.21875 c 0.48047,0.26953 0.95117,0.47266 1.41211,0.60938 0.46094,0.13672 0.91406,0.20507 1.35938,0.20507 0.67577,0 1.19726,-0.13281 1.56445,-0.39843 0.36718,-0.26563 0.55078,-0.64453 0.55078,-1.13672 0,-0.42969 -0.13282,-0.76562 -0.39844,-1.00782 -0.26172,-0.24218 -0.69336,-0.42382 -1.29492,-0.54492 l -0.7207,-0.14062 c -0.88282,-0.17578 -1.52149,-0.45117 -1.91602,-0.82617 -0.39453,-0.375 -0.59179,-0.89648 -0.59179,-1.56446 0,-0.77343 0.27148,-1.3828 0.81445,-1.82812 0.54687,-0.44531 1.29883,-0.66796 2.25586,-0.66797 0.41015,1e-5 0.82812,0.0371 1.25391,0.11133 0.42577,0.0742 0.86132,0.18555 1.30664,0.33398"
- style=""
- id="path3415" />
- <path
- d="m 665.73315,651.46063 0,1.00781 c -0.30469,-0.16796 -0.61133,-0.29296 -0.91992,-0.375 -0.30469,-0.0859 -0.61328,-0.1289 -0.92578,-0.1289 -0.69922,0 -1.24219,0.22266 -1.62891,0.66797 -0.38672,0.44141 -0.58008,1.0625 -0.58007,1.86328 -10e-6,0.80078 0.19335,1.42383 0.58007,1.86914 0.38672,0.44141 0.92969,0.66211 1.62891,0.66211 0.3125,0 0.62109,-0.041 0.92578,-0.12305 0.30859,-0.0859 0.61523,-0.21289 0.91992,-0.38086 l 0,0.9961 c -0.30078,0.14062 -0.61328,0.24609 -0.9375,0.3164 -0.32031,0.0703 -0.66211,0.10547 -1.02539,0.10547 -0.98828,0 -1.77344,-0.31055 -2.35547,-0.93164 -0.58203,-0.62109 -0.87304,-1.45898 -0.87304,-2.51367 0,-1.07031 0.29297,-1.91211 0.8789,-2.52539 0.58985,-0.61328 1.39649,-0.91992 2.41993,-0.91992 0.33202,0 0.65624,0.0352 0.97265,0.10546 0.3164,0.0664 0.62304,0.16798 0.91992,0.30469"
- style=""
- id="path3417" />
- <path
- d="m 671.42261,652.21649 c -0.1211,-0.0703 -0.25391,-0.12109 -0.39844,-0.15234 -0.14063,-0.0352 -0.29688,-0.0527 -0.46875,-0.0527 -0.60938,1e-5 -1.07813,0.19923 -1.40625,0.59766 -0.32422,0.39454 -0.48633,0.96289 -0.48633,1.70508 l 0,3.45703 -1.08398,0 0,-6.5625 1.08398,0 0,1.01953 c 0.22656,-0.39843 0.52148,-0.69335 0.88477,-0.88477 0.36328,-0.1953 0.80468,-0.29296 1.32422,-0.29296 0.0742,0 0.15624,0.006 0.24609,0.0176 0.0898,0.008 0.18945,0.0215 0.29883,0.041 l 0.006,1.10742"
- style=""
- id="path3419" />
- <path
- d="m 677.92065,654.2204 0,0.52734 -4.95703,0 c 0.0469,0.74219 0.26953,1.3086 0.66797,1.69922 0.40234,0.38672 0.96094,0.58008 1.67578,0.58008 0.41406,0 0.81445,-0.0508 1.20117,-0.15235 0.39062,-0.10156 0.77734,-0.2539 1.16016,-0.45703 l 0,1.01953 c -0.38672,0.16407 -0.78321,0.28907 -1.18945,0.375 -0.40626,0.0859 -0.81837,0.12891 -1.23633,0.12891 -1.04688,0 -1.87696,-0.30469 -2.49023,-0.91406 -0.60938,-0.60938 -0.91407,-1.43359 -0.91407,-2.47266 0,-1.07421 0.28906,-1.92577 0.86719,-2.55469 0.58203,-0.6328 1.36523,-0.94921 2.34961,-0.94921 0.88281,0 1.58007,0.28516 2.0918,0.85546 0.51562,0.56642 0.77343,1.3379 0.77343,2.31446 m -1.07812,-0.31641 c -0.008,-0.58984 -0.17383,-1.06054 -0.49805,-1.41211 -0.32031,-0.35155 -0.7461,-0.52734 -1.27734,-0.52734 -0.60157,0 -1.08399,0.16993 -1.44727,0.50976 -0.35937,0.33985 -0.56641,0.81837 -0.62109,1.43555 l 3.84375,-0.006"
- style=""
- id="path3421" />
- <path
- d="m 685.30347,654.2204 0,0.52734 -4.95703,0 c 0.0469,0.74219 0.26952,1.3086 0.66796,1.69922 0.40235,0.38672 0.96094,0.58008 1.67579,0.58008 0.41405,0 0.81444,-0.0508 1.20117,-0.15235 0.39062,-0.10156 0.77734,-0.2539 1.16015,-0.45703 l 0,1.01953 c -0.38672,0.16407 -0.78321,0.28907 -1.18945,0.375 -0.40625,0.0859 -0.81836,0.12891 -1.23633,0.12891 -1.04688,0 -1.87695,-0.30469 -2.49023,-0.91406 -0.60938,-0.60938 -0.91407,-1.43359 -0.91406,-2.47266 -10e-6,-1.07421 0.28906,-1.92577 0.86718,-2.55469 0.58203,-0.6328 1.36523,-0.94921 2.34961,-0.94921 0.88281,0 1.58008,0.28516 2.0918,0.85546 0.51562,0.56642 0.77343,1.3379 0.77344,2.31446 m -1.07813,-0.31641 c -0.008,-0.58984 -0.17383,-1.06054 -0.49805,-1.41211 -0.32031,-0.35155 -0.74609,-0.52734 -1.27734,-0.52734 -0.60156,0 -1.08399,0.16993 -1.44726,0.50976 -0.35938,0.33985 -0.56641,0.81837 -0.6211,1.43555 l 3.84375,-0.006"
- style=""
- id="path3423" />
- <path
- d="m 692.52808,653.81024 0,3.96094 -1.07813,0 0,-3.92578 c 0,-0.62109 -0.1211,-1.08593 -0.36328,-1.39453 -0.24219,-0.30859 -0.60547,-0.46289 -1.08984,-0.46289 -0.58204,0 -1.04102,0.18555 -1.37696,0.55664 -0.33594,0.3711 -0.50391,0.87695 -0.5039,1.51757 l 0,3.70899 -1.08399,0 0,-6.5625 1.08399,0 0,1.01953 c 0.25781,-0.39452 0.56054,-0.68945 0.9082,-0.88477 0.35156,-0.1953 0.75586,-0.29296 1.21289,-0.29296 0.7539,0 1.32421,0.23438 1.71094,0.70312 0.38671,0.46485 0.58007,1.1504 0.58008,2.05664"
- style=""
- id="path3425" />
- </g>
- <rect
- style="fill:#b8b8b8;fill-opacity:1;stroke:#b8b8b8;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
- id="rect5577"
- width="173.25098"
- height="141.43118"
- x="157.75581"
- y="436.97159" />
- <rect
- style="fill:#ededed;fill-opacity:1;stroke:#ededed;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- id="rect3789"
- width="168.99611"
- height="136.87178"
- x="159.87543"
- y="439.39697"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113" />
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#454545;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3791">
- <path
- d="m 274.28683,558.98682 1.19532,0 1.83984,7.39453 1.83399,-7.39453 1.33007,0 1.83985,7.39453 1.83398,-7.39453 1.20117,0 -2.19726,8.74804 -1.48828,0 -1.84571,-7.59375 -1.86328,7.59375 -1.48828,0 -2.19141,-8.74804"
- style=""
- id="path3388" />
- <path
- d="m 286.62082,561.17236 1.07812,0 0,6.5625 -1.07812,0 0,-6.5625 m 0,-2.55468 1.07812,0 0,1.36523 -1.07812,0 0,-1.36523"
- style=""
- id="path3390" />
- <path
- d="m 295.40402,563.77393 0,3.96093 -1.07812,0 0,-3.92578 c -10e-6,-0.62109 -0.1211,-1.08593 -0.36328,-1.39453 -0.2422,-0.30859 -0.60548,-0.46288 -1.08985,-0.46289 -0.58203,1e-5 -1.04102,0.18555 -1.37695,0.55664 -0.33594,0.3711 -0.50391,0.87696 -0.50391,1.51758 l 0,3.70898 -1.08398,0 0,-6.5625 1.08398,0 0,1.01953 c 0.25781,-0.39452 0.56055,-0.68944 0.90821,-0.88476 0.35156,-0.19531 0.75585,-0.29296 1.21289,-0.29297 0.7539,1e-5 1.32421,0.23438 1.71093,0.70313 0.38672,0.46484 0.58008,1.15039 0.58008,2.05664"
- style=""
- id="path3392" />
- <path
- d="m 301.88449,562.16846 0,-3.55078 1.07813,0 0,9.11718 -1.07813,0 0,-0.98437 c -0.22657,0.39062 -0.51368,0.68164 -0.86133,0.87305 -0.34375,0.1875 -0.75781,0.28124 -1.24218,0.28125 -0.79298,-1e-5 -1.43946,-0.31641 -1.93946,-0.94922 -0.49609,-0.63281 -0.74414,-1.46485 -0.74414,-2.4961 0,-1.03124 0.24805,-1.86327 0.74414,-2.49609 0.5,-0.63281 1.14648,-0.94921 1.93946,-0.94922 0.48437,1e-5 0.89843,0.0957 1.24218,0.28711 0.34765,0.18751 0.63476,0.47657 0.86133,0.86719 m -3.67383,2.29101 c 0,0.79297 0.16211,1.41602 0.48633,1.86914 0.32812,0.44922 0.77734,0.67383 1.34766,0.67383 0.57031,0 1.01952,-0.22461 1.34765,-0.67383 0.32812,-0.45312 0.49219,-1.07617 0.49219,-1.86914 0,-0.79296 -0.16407,-1.41406 -0.49219,-1.86328 -0.32813,-0.45312 -0.77734,-0.67968 -1.34765,-0.67969 -0.57032,10e-6 -1.01954,0.22657 -1.34766,0.67969 -0.32422,0.44922 -0.48633,1.07032 -0.48633,1.86328"
- style=""
- id="path3394" />
- <path
- d="m 307.72629,561.92822 c -0.57813,10e-6 -1.03516,0.22657 -1.3711,0.67969 -0.33594,0.44922 -0.5039,1.06641 -0.5039,1.85156 0,0.78516 0.16601,1.4043 0.49804,1.85742 0.33594,0.44922 0.79492,0.67383 1.37696,0.67383 0.57421,0 1.02929,-0.22656 1.36523,-0.67968 0.33593,-0.45313 0.5039,-1.07031 0.50391,-1.85157 -1e-5,-0.77734 -0.16798,-1.39257 -0.50391,-1.8457 -0.33594,-0.45703 -0.79102,-0.68554 -1.36523,-0.68555 m 0,-0.91406 c 0.93749,1e-5 1.67382,0.30469 2.20898,0.91406 0.53515,0.60938 0.80273,1.45313 0.80274,2.53125 -10e-6,1.07422 -0.26759,1.91797 -0.80274,2.53125 -0.53516,0.60938 -1.27149,0.91406 -2.20898,0.91407 -0.94141,-1e-5 -1.67969,-0.30469 -2.21485,-0.91407 -0.53125,-0.61328 -0.79687,-1.45703 -0.79687,-2.53125 0,-1.07812 0.26562,-1.92187 0.79687,-2.53125 0.53516,-0.60937 1.27344,-0.91405 2.21485,-0.91406"
- style=""
- id="path3396" />
- <path
- d="m 311.8923,561.17236 1.07813,0 1.34765,5.1211 1.3418,-5.1211 1.27149,0 1.34765,5.1211 1.3418,-5.1211 1.07812,0 -1.71679,6.5625 -1.27149,0 -1.41211,-5.3789 -1.41797,5.3789 -1.27148,0 -1.7168,-6.5625"
- style=""
- id="path3398" />
- </g>
- <rect
- y="439.39581"
- x="159.87428"
- height="8.8251209"
- width="168.99841"
- id="rect3795"
- style="fill:#7b7bff;fill-opacity:1;stroke:#7b7bff;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path3797"
- sodipodi:cx="352.54324"
- sodipodi:cy="373.03461"
- sodipodi:rx="2.5253813"
- sodipodi:ry="2.5253813"
- d="m 355.06862,373.03461 c 0,1.39473 -1.13065,2.52538 -2.52538,2.52538 -1.39473,0 -2.52538,-1.13065 -2.52538,-2.52538 0,-1.39473 1.13065,-2.52538 2.52538,-2.52538 1.39473,0 2.52538,1.13065 2.52538,2.52538 z"
- transform="matrix(0.66107369,0,0,0.66107369,123.32145,119.41326)"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113" />
- <path
- transform="matrix(0.66107369,0,0,0.66107369,-194.73594,119.44704)"
- d="m 355.06862,373.03461 c 0,1.39473 -1.13065,2.52538 -2.52538,2.52538 -1.39473,0 -2.52538,-1.13065 -2.52538,-2.52538 0,-1.39473 1.13065,-2.52538 2.52538,-2.52538 1.39473,0 2.52538,1.13065 2.52538,2.52538 z"
- sodipodi:ry="2.5253813"
- sodipodi:rx="2.5253813"
- sodipodi:cy="373.03461"
- sodipodi:cx="352.54324"
- id="path3799"
- style="fill:#000000;fill-opacity:1;stroke:none"
- sodipodi:type="arc"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113" />
- <path
- sodipodi:type="arc"
- style="fill:#000000;fill-opacity:1;stroke:none"
- id="path3801"
- sodipodi:cx="352.54324"
- sodipodi:cy="373.03461"
- sodipodi:rx="2.5253813"
- sodipodi:ry="2.5253813"
- d="m 355.06862,373.03461 c 0,1.39473 -1.13065,2.52538 -2.52538,2.52538 -1.39473,0 -2.52538,-1.13065 -2.52538,-2.52538 0,-1.39473 1.13065,-2.52538 2.52538,-2.52538 1.39473,0 2.52538,1.13065 2.52538,2.52538 z"
- transform="matrix(0.66107369,0,0,0.66107369,-73.218648,201.61091)"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113" />
- <text
- xml:space="preserve"
- style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
- x="21.213203"
- y="340.20465"
- id="text3803"
- inkscape:export-filename="/home/elmindreda/projects/glfw/glfw/docs/spaces.png"
- inkscape:export-xdpi="109.89113"
- inkscape:export-ydpi="109.89113"><tspan
- sodipodi:role="line"
- id="tspan3805"
- x="21.213203"
- y="340.20465"
- style="font-size:12px;line-height:1.25;font-family:sans-serif"> </tspan></text>
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3807">
- <path
- d="m 71.179893,455.55557 0.996094,0 1.533203,6.16211 1.528321,-6.16211 1.108398,0 1.533203,6.16211 1.528321,-6.16211 1.000976,0 -1.831055,7.29004 -1.240234,0 -1.538086,-6.32812 -1.552734,6.32812 -1.240235,0 -1.826172,-7.29004"
- style="font-size:10px"
- id="path3164" />
- <path
- d="m 81.458214,457.37686 0.898437,0 0,5.46875 -0.898437,0 0,-5.46875 m 0,-2.1289 0.898437,0 0,1.13769 -0.898437,0 0,-1.13769"
- style="font-size:10px"
- id="path3166" />
- <path
- d="m 88.77755,459.54483 0,3.30078 -0.898438,0 0,-3.27148 c -4e-6,-0.51758 -0.100916,-0.90495 -0.302734,-1.16211 -0.201827,-0.25716 -0.504561,-0.38574 -0.908203,-0.38574 -0.485029,0 -0.867516,0.15462 -1.147461,0.46386 -0.27995,0.30925 -0.419924,0.7308 -0.419922,1.26465 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.214842,-0.32877 0.46712,-0.57454 0.756836,-0.7373 0.292966,-0.16276 0.629879,-0.24414 1.010742,-0.24414 0.628251,0 1.103511,0.19531 1.425781,0.58593 0.322261,0.38738 0.483393,0.95867 0.483399,1.71387"
- style="font-size:10px"
- id="path3168" />
- <path
- d="m 94.17794,458.20694 0,-2.95898 0.898438,0 0,7.59765 -0.898438,0 0,-0.82031 c -0.188806,0.32552 -0.428064,0.56803 -0.717773,0.72754 -0.286462,0.15625 -0.631514,0.23437 -1.035156,0.23437 -0.66081,0 -1.199546,-0.26367 -1.616211,-0.79101 -0.413412,-0.52735 -0.620118,-1.2207 -0.620117,-2.08008 -10e-7,-0.85937 0.206705,-1.55273 0.620117,-2.08008 0.416665,-0.52734 0.955401,-0.79101 1.616211,-0.79101 0.403642,0 0.748694,0.0797 1.035156,0.23925 0.289709,0.15626 0.528967,0.39714 0.717773,0.72266 m -3.061523,1.90918 c -2e-6,0.66081 0.135089,1.18001 0.405273,1.55762 0.273436,0.37435 0.647784,0.56152 1.123047,0.56152 0.475257,0 0.849606,-0.18717 1.123047,-0.56152 0.273433,-0.37761 0.410152,-0.89681 0.410156,-1.55762 -4e-6,-0.6608 -0.136723,-1.17838 -0.410156,-1.55273 -0.273441,-0.3776 -0.64779,-0.56641 -1.123047,-0.56641 -0.475263,0 -0.849611,0.18881 -1.123047,0.56641 -0.270184,0.37435 -0.405275,0.89193 -0.405273,1.55273"
- style="font-size:10px"
- id="path3170" />
- <path
- d="m 99.046104,458.00674 c -0.481773,1e-5 -0.862632,0.18881 -1.142578,0.56641 -0.279949,0.37435 -0.419923,0.88868 -0.419922,1.54297 -10e-7,0.6543 0.138345,1.17025 0.415039,1.54785 0.279946,0.37435 0.662433,0.56153 1.147461,0.56152 0.478513,1e-5 0.857744,-0.1888 1.137696,-0.5664 0.27994,-0.3776 0.41992,-0.89193 0.41992,-1.54297 0,-0.64778 -0.13998,-1.16048 -0.41992,-1.53809 -0.279952,-0.38085 -0.659183,-0.57128 -1.137696,-0.57129 m 0,-0.76171 c 0.781247,0 1.394856,0.25391 1.840816,0.76171 0.44596,0.50782 0.66894,1.21095 0.66895,2.10938 -1e-5,0.89518 -0.22299,1.59831 -0.66895,2.10937 -0.44596,0.50782 -1.059569,0.76172 -1.840816,0.76172 -0.784507,0 -1.399741,-0.2539 -1.845703,-0.76172 -0.442709,-0.51106 -0.664063,-1.21419 -0.664062,-2.10937 -10e-7,-0.89843 0.221353,-1.60156 0.664062,-2.10938 0.445962,-0.5078 1.061196,-0.76171 1.845703,-0.76171"
- style="font-size:10px"
- id="path3172" />
- <path
- d="m 102.51778,457.37686 0.89844,0 1.12305,4.26758 1.11816,-4.26758 1.05957,0 1.12305,4.26758 1.11816,-4.26758 0.89844,0 -1.43066,5.46875 -1.05957,0 -1.17676,-4.48242 -1.18164,4.48242 -1.05957,0 -1.43067,-5.46875"
- style="font-size:10px"
- id="path3174" />
- <path
- d="m 115.27657,462.0253 0,2.90039 -0.90332,0 0,-7.54883 0.90332,0 0,0.83008 c 0.1888,-0.32552 0.42643,-0.5664 0.71289,-0.72266 0.28971,-0.1595 0.63477,-0.23925 1.03516,-0.23925 0.66406,0 1.20279,0.26367 1.61621,0.79101 0.41666,0.52735 0.625,1.22071 0.625,2.08008 0,0.85938 -0.20834,1.55273 -0.625,2.08008 -0.41342,0.52734 -0.95215,0.79101 -1.61621,0.79101 -0.40039,0 -0.74545,-0.0781 -1.03516,-0.23437 -0.28646,-0.15951 -0.52409,-0.40202 -0.71289,-0.72754 m 3.05664,-1.90918 c 0,-0.6608 -0.13672,-1.17838 -0.41015,-1.55273 -0.27019,-0.3776 -0.64291,-0.56641 -1.11817,-0.56641 -0.47526,0 -0.84961,0.18881 -1.12304,0.56641 -0.27019,0.37435 -0.40528,0.89193 -0.40528,1.55273 0,0.66081 0.13509,1.18001 0.40528,1.55762 0.27343,0.37435 0.64778,0.56152 1.12304,0.56152 0.47526,0 0.84798,-0.18717 1.11817,-0.56152 0.27343,-0.37761 0.41015,-0.89681 0.41015,-1.55762"
- style="font-size:10px"
- id="path3176" />
- <path
- d="m 122.87423,458.00674 c -0.48177,1e-5 -0.86263,0.18881 -1.14258,0.56641 -0.27995,0.37435 -0.41992,0.88868 -0.41992,1.54297 0,0.6543 0.13834,1.17025 0.41504,1.54785 0.27994,0.37435 0.66243,0.56153 1.14746,0.56152 0.47851,1e-5 0.85774,-0.1888 1.13769,-0.5664 0.27995,-0.3776 0.41992,-0.89193 0.41993,-1.54297 -1e-5,-0.64778 -0.13998,-1.16048 -0.41993,-1.53809 -0.27995,-0.38085 -0.65918,-0.57128 -1.13769,-0.57129 m 0,-0.76171 c 0.78125,0 1.39485,0.25391 1.84082,0.76171 0.44596,0.50782 0.66894,1.21095 0.66895,2.10938 -1e-5,0.89518 -0.22299,1.59831 -0.66895,2.10937 -0.44597,0.50782 -1.05957,0.76172 -1.84082,0.76172 -0.78451,0 -1.39974,-0.2539 -1.8457,-0.76172 -0.44271,-0.51106 -0.66407,-1.21419 -0.66407,-2.10937 0,-0.89843 0.22136,-1.60156 0.66407,-2.10938 0.44596,-0.5078 1.06119,-0.76171 1.8457,-0.76171"
- style="font-size:10px"
- id="path3178" />
- <path
- d="m 130.3547,457.53799 0,0.84961 c -0.25391,-0.1302 -0.51758,-0.22786 -0.79102,-0.29296 -0.27344,-0.0651 -0.55664,-0.0977 -0.84961,-0.0977 -0.44596,0 -0.78125,0.0684 -1.00586,0.20508 -0.22135,0.13672 -0.33203,0.3418 -0.33203,0.61523 0,0.20834 0.0797,0.37273 0.23926,0.49317 0.1595,0.11719 0.48014,0.22949 0.96191,0.33691 l 0.30762,0.0684 c 0.63802,0.13672 1.09049,0.33041 1.35742,0.58105 0.27018,0.2474 0.40527,0.59408 0.40528,1.04004 -1e-5,0.50782 -0.20183,0.90983 -0.60547,1.20606 -0.4004,0.29622 -0.95215,0.44433 -1.65528,0.44433 -0.29297,0 -0.59896,-0.0293 -0.91796,-0.0879 -0.31576,-0.0553 -0.64942,-0.13997 -1.00098,-0.2539 l 0,-0.92774 c 0.33203,0.17253 0.65918,0.30274 0.98144,0.39063 0.32227,0.0846 0.64128,0.12695 0.95704,0.12695 0.42317,0 0.74869,-0.0716 0.97656,-0.21484 0.22786,-0.14649 0.34179,-0.35157 0.3418,-0.61524 -1e-5,-0.24414 -0.083,-0.43131 -0.24903,-0.56152 -0.16276,-0.13021 -0.52246,-0.25553 -1.0791,-0.37598 l -0.3125,-0.0732 c -0.55664,-0.11719 -0.95866,-0.29622 -1.20605,-0.53711 -0.2474,-0.24414 -0.3711,-0.5778 -0.3711,-1.00098 0,-0.51431 0.18229,-0.91145 0.54688,-1.1914 0.36458,-0.27994 0.88216,-0.41992 1.55273,-0.41992 0.33203,0 0.64453,0.0244 0.9375,0.0732 0.29297,0.0488 0.56315,0.12207 0.81055,0.21972"
- style="font-size:10px"
- id="path3180" />
- <path
- d="m 132.08321,457.37686 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3182" />
- <path
- d="m 135.74532,455.82413 0,1.55273 1.85059,0 0,0.69824 -1.85059,0 0,2.96875 c 0,0.44597 0.0602,0.73243 0.18067,0.85938 0.12369,0.12695 0.37272,0.19043 0.74707,0.19043 l 0.92285,0 0,0.75195 -0.92285,0 c -0.69336,0 -1.17188,-0.12858 -1.43555,-0.38574 -0.26367,-0.26042 -0.39551,-0.73242 -0.39551,-1.41602 l 0,-2.96875 -0.65918,0 0,-0.69824 0.65918,0 0,-1.55273 0.90332,0"
- style="font-size:10px"
- id="path3184" />
- <path
- d="m 138.78243,457.37686 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3186" />
- <path
- d="m 143.67501,458.00674 c -0.48177,1e-5 -0.86263,0.18881 -1.14258,0.56641 -0.27995,0.37435 -0.41992,0.88868 -0.41992,1.54297 0,0.6543 0.13835,1.17025 0.41504,1.54785 0.27995,0.37435 0.66243,0.56153 1.14746,0.56152 0.47851,1e-5 0.85774,-0.1888 1.1377,-0.5664 0.27994,-0.3776 0.41991,-0.89193 0.41992,-1.54297 -1e-5,-0.64778 -0.13998,-1.16048 -0.41992,-1.53809 -0.27996,-0.38085 -0.65919,-0.57128 -1.1377,-0.57129 m 0,-0.76171 c 0.78125,0 1.39485,0.25391 1.84082,0.76171 0.44596,0.50782 0.66894,1.21095 0.66895,2.10938 -1e-5,0.89518 -0.22299,1.59831 -0.66895,2.10937 -0.44597,0.50782 -1.05957,0.76172 -1.84082,0.76172 -0.78451,0 -1.39974,-0.2539 -1.8457,-0.76172 -0.44271,-0.51106 -0.66407,-1.21419 -0.66406,-2.10937 -10e-6,-0.89843 0.22135,-1.60156 0.66406,-2.10938 0.44596,-0.5078 1.06119,-0.76171 1.8457,-0.76171"
- style="font-size:10px"
- id="path3188" />
- <path
- d="m 152.21505,459.54483 0,3.30078 -0.89844,0 0,-3.27148 c 0,-0.51758 -0.10091,-0.90495 -0.30273,-1.16211 -0.20183,-0.25716 -0.50456,-0.38574 -0.90821,-0.38574 -0.48502,0 -0.86751,0.15462 -1.14746,0.46386 -0.27995,0.30925 -0.41992,0.7308 -0.41992,1.26465 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.21484,-0.32877 0.46712,-0.57454 0.75684,-0.7373 0.29296,-0.16276 0.62988,-0.24414 1.01074,-0.24414 0.62825,0 1.10351,0.19531 1.42578,0.58593 0.32226,0.38738 0.48339,0.95867 0.4834,1.71387"
- style="font-size:10px"
- id="path3190" />
- </g>
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3817">
- <path
- d="m 49.798271,374.06503 0,0.96192 c -0.374354,-0.17903 -0.727544,-0.3125 -1.05957,-0.40039 -0.332035,-0.0879 -0.652673,-0.13183 -0.961914,-0.13184 -0.537112,1e-5 -0.952151,0.10417 -1.245117,0.3125 -0.289716,0.20834 -0.434572,0.50456 -0.434571,0.88867 -10e-7,0.32227 0.09603,0.56641 0.288086,0.73242 0.195311,0.16277 0.563149,0.2946 1.103516,0.39551 l 0.595703,0.12207 c 0.735673,0.13998 1.277664,0.38738 1.625977,0.74219 0.351556,0.35157 0.527338,0.82357 0.527343,1.41602 -5e-6,0.70638 -0.237635,1.24186 -0.71289,1.60644 -0.47201,0.36458 -1.165369,0.54688 -2.080078,0.54688 -0.345055,0 -0.712893,-0.0391 -1.103516,-0.11719 -0.387371,-0.0781 -0.789389,-0.19369 -1.206055,-0.34668 l 0,-1.01563 c 0.40039,0.22461 0.792642,0.39388 1.176758,0.50782 0.384112,0.11393 0.761716,0.1709 1.132813,0.17089 0.563147,10e-6 0.997717,-0.11067 1.30371,-0.33203 0.305985,-0.22135 0.45898,-0.5371 0.458985,-0.94726 -5e-6,-0.35807 -0.110682,-0.63802 -0.332031,-0.83985 -0.218104,-0.20182 -0.577804,-0.35318 -1.079102,-0.4541 l -0.600586,-0.11719 c -0.735679,-0.14648 -1.267905,-0.37597 -1.59668,-0.68847 -0.328776,-0.3125 -0.493164,-0.74707 -0.493164,-1.30371 0,-0.64453 0.226236,-1.15234 0.678711,-1.52344 0.455728,-0.37109 1.082355,-0.55663 1.879883,-0.55664 0.341793,10e-6 0.6901,0.0309 1.044922,0.0928 0.354813,0.0619 0.717768,0.15463 1.088867,0.27832"
- style="font-size:10px"
- id="path3193" />
- <path
- d="m 56.414482,378.15683 0,0.43945 -4.130859,0 c 0.03906,0.61849 0.224607,1.0905 0.55664,1.41602 0.335284,0.32226 0.800779,0.4834 1.396485,0.4834 0.345048,0 0.678707,-0.0423 1.000976,-0.12696 0.325516,-0.0846 0.647782,-0.21158 0.966797,-0.38086 l 0,0.84961 c -0.322271,0.13672 -0.652674,0.24089 -0.991211,0.3125 -0.338546,0.0716 -0.68197,0.10743 -1.030273,0.10743 -0.872399,0 -1.56413,-0.25391 -2.075196,-0.76172 -0.507813,-0.50781 -0.761719,-1.19466 -0.761718,-2.06055 -10e-7,-0.89518 0.240884,-1.60481 0.722656,-2.12891 0.485024,-0.52733 1.137693,-0.79101 1.958008,-0.79101 0.735673,0 1.316727,0.23763 1.743164,0.71289 0.429682,0.47201 0.644525,1.11491 0.644531,1.92871 m -0.898437,-0.26367 c -0.0065,-0.49153 -0.144862,-0.88379 -0.415039,-1.17676 -0.266932,-0.29296 -0.621749,-0.43945 -1.064454,-0.43945 -0.501304,0 -0.903322,0.1416 -1.206054,0.4248 -0.299481,0.28321 -0.472007,0.68197 -0.517578,1.19629 l 3.203125,-0.005"
- style="font-size:10px"
- id="path3195" />
- <path
- d="m 61.824638,375.85703 0,0.83984 c -0.253911,-0.13997 -0.509444,-0.24414 -0.766601,-0.3125 -0.25391,-0.0716 -0.511072,-0.10742 -0.771485,-0.10742 -0.582685,0 -1.035158,0.18555 -1.357421,0.55664 -0.322268,0.36784 -0.4834,0.88542 -0.483399,1.55273 -10e-7,0.66732 0.161131,1.18653 0.483399,1.55762 0.322263,0.36784 0.774736,0.55176 1.357421,0.55176 0.260413,0 0.517575,-0.0342 0.771485,-0.10254 0.257157,-0.0716 0.51269,-0.17741 0.766601,-0.31738 l 0,0.83007 c -0.250655,0.11719 -0.511072,0.20508 -0.78125,0.26368 -0.266931,0.0586 -0.551761,0.0879 -0.854492,0.0879 -0.82357,0 -1.477866,-0.25879 -1.96289,-0.77637 -0.485027,-0.51758 -0.72754,-1.21582 -0.72754,-2.09473 0,-0.89192 0.24414,-1.59342 0.732422,-2.10449 0.491535,-0.51106 1.163735,-0.7666 2.016602,-0.7666 0.276689,0 0.546871,0.0293 0.810547,0.0879 0.263667,0.0553 0.519201,0.13998 0.766601,0.25391"
- style="font-size:10px"
- id="path3197" />
- <path
- d="m 65.516045,376.27695 c -0.481774,0 -0.862633,0.1888 -1.142579,0.5664 -0.279949,0.37436 -0.419923,0.88868 -0.419921,1.54297 -2e-6,0.6543 0.138344,1.17025 0.415039,1.54785 0.279945,0.37435 0.662432,0.56153 1.147461,0.56153 0.478512,0 0.857743,-0.1888 1.137695,-0.56641 0.279943,-0.3776 0.419917,-0.89192 0.419922,-1.54297 -5e-6,-0.64778 -0.139979,-1.16048 -0.419922,-1.53808 -0.279952,-0.38086 -0.659183,-0.57129 -1.137695,-0.57129 m 0,-0.76172 c 0.781246,0 1.394852,0.25391 1.84082,0.76172 0.445958,0.50781 0.66894,1.21094 0.668945,2.10937 -5e-6,0.89519 -0.222987,1.59831 -0.668945,2.10938 -0.445968,0.50781 -1.059574,0.76172 -1.84082,0.76172 -0.784508,0 -1.399742,-0.25391 -1.845704,-0.76172 -0.442709,-0.51107 -0.664063,-1.21419 -0.664062,-2.10938 -10e-7,-0.89843 0.221353,-1.60156 0.664062,-2.10937 0.445962,-0.50781 1.061196,-0.76172 1.845704,-0.76172"
- style="font-size:10px"
- id="path3199" />
- <path
- d="m 74.056084,377.81503 0,3.30078 -0.898438,0 0,-3.27148 c -4e-6,-0.51757 -0.100916,-0.90494 -0.302734,-1.16211 -0.201827,-0.25716 -0.504561,-0.38574 -0.908203,-0.38574 -0.485029,0 -0.867516,0.15463 -1.147461,0.46387 -0.27995,0.30924 -0.419924,0.73079 -0.419922,1.26464 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.214842,-0.32877 0.46712,-0.57454 0.756836,-0.7373 0.292966,-0.16276 0.629879,-0.24414 1.010742,-0.24414 0.628251,0 1.103511,0.19532 1.425781,0.58594 0.322261,0.38737 0.483393,0.95866 0.483399,1.71386"
- style="font-size:10px"
- id="path3201" />
- <path
- d="m 79.456474,376.47714 0,-2.95898 0.898438,0 0,7.59765 -0.898438,0 0,-0.82031 c -0.188806,0.32552 -0.428064,0.56804 -0.717773,0.72754 -0.286462,0.15625 -0.631514,0.23438 -1.035156,0.23438 -0.66081,0 -1.199546,-0.26368 -1.616211,-0.79102 -0.413413,-0.52734 -0.620118,-1.2207 -0.620118,-2.08008 0,-0.85937 0.206705,-1.55273 0.620118,-2.08008 0.416665,-0.52733 0.955401,-0.79101 1.616211,-0.79101 0.403642,0 0.748694,0.0798 1.035156,0.23926 0.289709,0.15625 0.528967,0.39714 0.717773,0.72265 m -3.061523,1.90918 c -2e-6,0.66081 0.135089,1.18002 0.405273,1.55762 0.273436,0.37435 0.647784,0.56152 1.123047,0.56152 0.475257,0 0.849606,-0.18717 1.123047,-0.56152 0.273433,-0.3776 0.410152,-0.89681 0.410156,-1.55762 -4e-6,-0.6608 -0.136723,-1.17838 -0.410156,-1.55273 -0.273441,-0.3776 -0.64779,-0.5664 -1.123047,-0.56641 -0.475263,1e-5 -0.849611,0.18881 -1.123047,0.56641 -0.270184,0.37435 -0.405275,0.89193 -0.405273,1.55273"
- style="font-size:10px"
- id="path3203" />
- <path
- d="m 84.690849,378.36679 c -0.725914,0 -1.228843,0.083 -1.508789,0.24902 -0.279949,0.16602 -0.419923,0.44923 -0.419922,0.84961 -10e-7,0.31902 0.104165,0.57292 0.3125,0.76172 0.211587,0.18555 0.498045,0.27832 0.859375,0.27832 0.498044,0 0.896807,-0.17578 1.196289,-0.52734 0.302731,-0.35482 0.454098,-0.82519 0.454102,-1.41113 l 0,-0.2002 -0.893555,0 m 1.791992,-0.37109 0,3.12011 -0.898437,0 0,-0.83007 c -0.205082,0.33203 -0.460616,0.5778 -0.766602,0.7373 -0.305992,0.15625 -0.680341,0.23438 -1.123046,0.23438 -0.559898,0 -1.005861,-0.15625 -1.337891,-0.46875 -0.328777,-0.31576 -0.493165,-0.73731 -0.493164,-1.26465 -1e-6,-0.61523 0.205077,-1.0791 0.615234,-1.3916 0.41341,-0.3125 1.028644,-0.46875 1.845703,-0.46875 l 1.259766,0 0,-0.0879 c -4e-6,-0.41341 -0.136723,-0.73242 -0.410156,-0.95704 -0.270186,-0.22786 -0.651045,-0.34179 -1.142578,-0.34179 -0.312503,0 -0.616865,0.0374 -0.913086,0.1123 -0.296226,0.0749 -0.581056,0.18718 -0.854493,0.33692 l 0,-0.83008 c 0.328775,-0.12695 0.647785,-0.22135 0.957032,-0.28321 0.309242,-0.0651 0.610349,-0.0977 0.90332,-0.0977 0.791012,0 1.381832,0.20508 1.772461,0.61523 0.39062,0.41016 0.585932,1.03191 0.585937,1.86524"
- style="font-size:10px"
- id="path3205" />
- <path
- d="m 91.507256,376.48691 c -0.100916,-0.0586 -0.211593,-0.10091 -0.332032,-0.12696 -0.117191,-0.0293 -0.247399,-0.0439 -0.390625,-0.0439 -0.507815,0 -0.89844,0.16602 -1.171875,0.49805 -0.270184,0.32878 -0.405275,0.80241 -0.405273,1.42089 l 0,2.88086 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.1888,-0.33202 0.434568,-0.57779 0.737305,-0.7373 0.302731,-0.16276 0.670569,-0.24414 1.103515,-0.24414 0.06185,0 0.130205,0.005 0.205078,0.0147 0.07487,0.007 0.157874,0.0179 0.249024,0.0342 l 0.0049,0.92285"
- style="font-size:10px"
- id="path3207" />
- <path
- d="m 94.734795,381.62363 c -0.25391,0.65104 -0.501305,1.07584 -0.742188,1.27441 -0.240888,0.19857 -0.563153,0.29785 -0.966797,0.29785 l -0.717773,0 0,-0.75195 0.527344,0 c 0.247394,0 0.439451,-0.0586 0.576171,-0.17578 0.136717,-0.11719 0.288084,-0.39388 0.454102,-0.83008 l 0.161133,-0.41016 -2.211914,-5.38086 0.952148,0 1.708985,4.27735 1.708984,-4.27735 0.952148,0 -2.402343,5.97657"
- style="font-size:10px"
- id="path3209" />
- <path
- d="m 105.81878,376.69687 c 0.2246,-0.40364 0.49316,-0.70149 0.80566,-0.89356 0.3125,-0.19205 0.68033,-0.28808 1.10352,-0.28808 0.56965,0 1.00911,0.2002 1.31836,0.60058 0.30923,0.39714 0.46386,0.96355 0.46387,1.69922 l 0,3.30078 -0.90333,0 0,-3.27148 c 0,-0.52408 -0.0928,-0.91308 -0.27832,-1.16699 -0.18555,-0.2539 -0.46875,-0.38086 -0.8496,-0.38086 -0.46551,0 -0.83334,0.15463 -1.10352,0.46387 -0.27019,0.30924 -0.40528,0.73079 -0.40527,1.26464 l 0,3.09082 -0.90332,0 0,-3.27148 c -10e-6,-0.52734 -0.0928,-0.91634 -0.27832,-1.16699 -0.18556,-0.2539 -0.47201,-0.38086 -0.85938,-0.38086 -0.45899,0 -0.82357,0.15625 -1.09375,0.46875 -0.27018,0.30925 -0.40527,0.72917 -0.40527,1.25976 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.20507,-0.33528 0.45084,-0.58267 0.7373,-0.74218 0.28646,-0.1595 0.62663,-0.23926 1.02051,-0.23926 0.39713,0 0.73404,0.10092 1.01074,0.30273 0.27994,0.20183 0.48665,0.4948 0.62012,0.87891"
- style="font-size:10px"
- id="path3211" />
- <path
- d="m 113.4262,376.27695 c -0.48177,0 -0.86263,0.1888 -1.14258,0.5664 -0.27995,0.37436 -0.41992,0.88868 -0.41992,1.54297 0,0.6543 0.13835,1.17025 0.41504,1.54785 0.27995,0.37435 0.66243,0.56153 1.14746,0.56153 0.47851,0 0.85774,-0.1888 1.1377,-0.56641 0.27994,-0.3776 0.41991,-0.89192 0.41992,-1.54297 -10e-6,-0.64778 -0.13998,-1.16048 -0.41992,-1.53808 -0.27996,-0.38086 -0.65919,-0.57129 -1.1377,-0.57129 m 0,-0.76172 c 0.78125,0 1.39485,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66895,2.10937 -1e-5,0.89519 -0.22299,1.59831 -0.66895,2.10938 -0.44597,0.50781 -1.05957,0.76172 -1.84082,0.76172 -0.78451,0 -1.39974,-0.25391 -1.8457,-0.76172 -0.44271,-0.51107 -0.66407,-1.21419 -0.66406,-2.10938 -10e-6,-0.89843 0.22135,-1.60156 0.66406,-2.10937 0.44596,-0.50781 1.06119,-0.76172 1.8457,-0.76172"
- style="font-size:10px"
- id="path3213" />
- <path
- d="m 121.96624,377.81503 0,3.30078 -0.89844,0 0,-3.27148 c 0,-0.51757 -0.10091,-0.90494 -0.30273,-1.16211 -0.20183,-0.25716 -0.50456,-0.38574 -0.90821,-0.38574 -0.48502,0 -0.86751,0.15463 -1.14746,0.46387 -0.27995,0.30924 -0.41992,0.73079 -0.41992,1.26464 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.21484,-0.32877 0.46712,-0.57454 0.75684,-0.7373 0.29296,-0.16276 0.62988,-0.24414 1.01074,-0.24414 0.62825,0 1.10351,0.19532 1.42578,0.58594 0.32226,0.38737 0.48339,0.95866 0.4834,1.71386"
- style="font-size:10px"
- id="path3215" />
- <path
- d="m 123.768,375.64706 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3217" />
- <path
- d="m 127.43011,374.09433 0,1.55273 1.85058,0 0,0.69825 -1.85058,0 0,2.96875 c 0,0.44596 0.0602,0.73242 0.18066,0.85937 0.1237,0.12696 0.37272,0.19043 0.74707,0.19043 l 0.92285,0 0,0.75195 -0.92285,0 c -0.69336,0 -1.17188,-0.12858 -1.43555,-0.38574 -0.26367,-0.26041 -0.3955,-0.73242 -0.3955,-1.41601 l 0,-2.96875 -0.65918,0 0,-0.69825 0.65918,0 0,-1.55273 0.90332,0"
- style="font-size:10px"
- id="path3219" />
- <path
- d="m 132.58636,376.27695 c -0.48178,0 -0.86264,0.1888 -1.14258,0.5664 -0.27995,0.37436 -0.41992,0.88868 -0.41992,1.54297 0,0.6543 0.13834,1.17025 0.41504,1.54785 0.27994,0.37435 0.66243,0.56153 1.14746,0.56153 0.47851,0 0.85774,-0.1888 1.13769,-0.56641 0.27995,-0.3776 0.41992,-0.89192 0.41992,-1.54297 0,-0.64778 -0.13997,-1.16048 -0.41992,-1.53808 -0.27995,-0.38086 -0.65918,-0.57129 -1.13769,-0.57129 m 0,-0.76172 c 0.78124,0 1.39485,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66894,2.10937 0,0.89519 -0.22298,1.59831 -0.66894,2.10938 -0.44597,0.50781 -1.05958,0.76172 -1.84082,0.76172 -0.78451,0 -1.39974,-0.25391 -1.84571,-0.76172 -0.44271,-0.51107 -0.66406,-1.21419 -0.66406,-2.10938 0,-0.89843 0.22135,-1.60156 0.66406,-2.10937 0.44597,-0.50781 1.0612,-0.76172 1.84571,-0.76172"
- style="font-size:10px"
- id="path3221" />
- <path
- d="m 139.74944,376.48691 c -0.10091,-0.0586 -0.21159,-0.10091 -0.33203,-0.12696 -0.11719,-0.0293 -0.2474,-0.0439 -0.39062,-0.0439 -0.50782,0 -0.89844,0.16602 -1.17188,0.49805 -0.27018,0.32878 -0.40527,0.80241 -0.40527,1.42089 l 0,2.88086 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.1888,-0.33202 0.43457,-0.57779 0.7373,-0.7373 0.30273,-0.16276 0.67057,-0.24414 1.10352,-0.24414 0.0618,0 0.1302,0.005 0.20508,0.0147 0.0749,0.007 0.15787,0.0179 0.24902,0.0342 l 0.005,0.92285"
- style="font-size:10px"
- id="path3223" />
- <path
- d="m 144.75433,380.2955 0,2.90039 -0.90332,0 0,-7.54883 0.90332,0 0,0.83008 c 0.1888,-0.32551 0.42643,-0.5664 0.71289,-0.72265 0.28971,-0.1595 0.63476,-0.23926 1.03515,-0.23926 0.66406,0 1.2028,0.26368 1.61621,0.79101 0.41666,0.52735 0.625,1.22071 0.625,2.08008 0,0.85938 -0.20834,1.55274 -0.625,2.08008 -0.41341,0.52734 -0.95215,0.79102 -1.61621,0.79102 -0.40039,0 -0.74544,-0.0781 -1.03515,-0.23438 -0.28646,-0.1595 -0.52409,-0.40202 -0.71289,-0.72754 m 3.05664,-1.90918 c -1e-5,-0.6608 -0.13673,-1.17838 -0.41016,-1.55273 -0.27019,-0.3776 -0.64291,-0.5664 -1.11816,-0.56641 -0.47527,1e-5 -0.84962,0.18881 -1.12305,0.56641 -0.27018,0.37435 -0.40528,0.89193 -0.40527,1.55273 -1e-5,0.66081 0.13509,1.18002 0.40527,1.55762 0.27343,0.37435 0.64778,0.56152 1.12305,0.56152 0.47525,0 0.84797,-0.18717 1.11816,-0.56152 0.27343,-0.3776 0.41015,-0.89681 0.41016,-1.55762"
- style="font-size:10px"
- id="path3225" />
- <path
- d="m 152.35198,376.27695 c -0.48177,0 -0.86263,0.1888 -1.14258,0.5664 -0.27995,0.37436 -0.41992,0.88868 -0.41992,1.54297 0,0.6543 0.13835,1.17025 0.41504,1.54785 0.27995,0.37435 0.66243,0.56153 1.14746,0.56153 0.47851,0 0.85775,-0.1888 1.1377,-0.56641 0.27994,-0.3776 0.41991,-0.89192 0.41992,-1.54297 -1e-5,-0.64778 -0.13998,-1.16048 -0.41992,-1.53808 -0.27995,-0.38086 -0.65919,-0.57129 -1.1377,-0.57129 m 0,-0.76172 c 0.78125,0 1.39485,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66895,2.10937 -1e-5,0.89519 -0.22299,1.59831 -0.66895,2.10938 -0.44597,0.50781 -1.05957,0.76172 -1.84082,0.76172 -0.78451,0 -1.39974,-0.25391 -1.8457,-0.76172 -0.44271,-0.51107 -0.66406,-1.21419 -0.66406,-2.10938 0,-0.89843 0.22135,-1.60156 0.66406,-2.10937 0.44596,-0.50781 1.06119,-0.76172 1.8457,-0.76172"
- style="font-size:10px"
- id="path3227" />
- <path
- d="m 159.83245,375.8082 0,0.84961 c -0.25391,-0.13021 -0.51758,-0.22786 -0.79101,-0.29297 -0.27345,-0.0651 -0.55665,-0.0976 -0.84961,-0.0977 -0.44597,1e-5 -0.78126,0.0684 -1.00586,0.20508 -0.22136,0.13672 -0.33204,0.3418 -0.33203,0.61523 -1e-5,0.20834 0.0798,0.37273 0.23925,0.49317 0.15951,0.11719 0.48014,0.22949 0.96192,0.33691 l 0.30761,0.0684 c 0.63802,0.13672 1.0905,0.33041 1.35743,0.58106 0.27017,0.24739 0.40526,0.59407 0.40527,1.04004 -1e-5,0.50781 -0.20183,0.90983 -0.60547,1.20605 -0.40039,0.29622 -0.95215,0.44434 -1.65527,0.44434 -0.29297,0 -0.59896,-0.0293 -0.91797,-0.0879 -0.31576,-0.0553 -0.64942,-0.13998 -1.00098,-0.25391 l 0,-0.92774 c 0.33203,0.17253 0.65918,0.30274 0.98145,0.39063 0.32226,0.0846 0.64127,0.12695 0.95703,0.12695 0.42317,0 0.74869,-0.0716 0.97656,-0.21484 0.22786,-0.14648 0.34179,-0.35156 0.3418,-0.61524 -1e-5,-0.24413 -0.083,-0.43131 -0.24903,-0.56152 -0.16276,-0.13021 -0.52246,-0.25553 -1.0791,-0.37598 l -0.3125,-0.0732 c -0.55664,-0.11718 -0.95866,-0.29622 -1.20605,-0.53711 -0.2474,-0.24413 -0.3711,-0.57779 -0.3711,-1.00097 0,-0.51432 0.1823,-0.91146 0.54688,-1.19141 0.36458,-0.27994 0.88216,-0.41992 1.55273,-0.41992 0.33203,0 0.64453,0.0244 0.9375,0.0732 0.29297,0.0488 0.56315,0.12208 0.81055,0.21973"
- style="font-size:10px"
- id="path3229" />
- <path
- d="m 161.56097,375.64706 0.89843,0 0,5.46875 -0.89843,0 0,-5.46875 m 0,-2.1289 0.89843,0 0,1.13769 -0.89843,0 0,-1.13769"
- style="font-size:10px"
- id="path3231" />
- <path
- d="m 165.22308,374.09433 0,1.55273 1.85058,0 0,0.69825 -1.85058,0 0,2.96875 c -1e-5,0.44596 0.0602,0.73242 0.18066,0.85937 0.1237,0.12696 0.37272,0.19043 0.74707,0.19043 l 0.92285,0 0,0.75195 -0.92285,0 c -0.69336,0 -1.17188,-0.12858 -1.43555,-0.38574 -0.26367,-0.26041 -0.39551,-0.73242 -0.3955,-1.41601 l 0,-2.96875 -0.65918,0 0,-0.69825 0.65918,0 0,-1.55273 0.90332,0"
- style="font-size:10px"
- id="path3233" />
- <path
- d="m 168.26019,375.64706 0.89843,0 0,5.46875 -0.89843,0 0,-5.46875 m 0,-2.1289 0.89843,0 0,1.13769 -0.89843,0 0,-1.13769"
- style="font-size:10px"
- id="path3235" />
- <path
- d="m 173.15276,376.27695 c -0.48177,0 -0.86263,0.1888 -1.14257,0.5664 -0.27995,0.37436 -0.41993,0.88868 -0.41993,1.54297 0,0.6543 0.13835,1.17025 0.41504,1.54785 0.27995,0.37435 0.66243,0.56153 1.14746,0.56153 0.47852,0 0.85775,-0.1888 1.1377,-0.56641 0.27994,-0.3776 0.41992,-0.89192 0.41992,-1.54297 0,-0.64778 -0.13998,-1.16048 -0.41992,-1.53808 -0.27995,-0.38086 -0.65918,-0.57129 -1.1377,-0.57129 m 0,-0.76172 c 0.78125,0 1.39486,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66895,2.10937 -1e-5,0.89519 -0.22299,1.59831 -0.66895,2.10938 -0.44596,0.50781 -1.05957,0.76172 -1.84082,0.76172 -0.7845,0 -1.39974,-0.25391 -1.8457,-0.76172 -0.44271,-0.51107 -0.66406,-1.21419 -0.66406,-2.10938 0,-0.89843 0.22135,-1.60156 0.66406,-2.10937 0.44596,-0.50781 1.0612,-0.76172 1.8457,-0.76172"
- style="font-size:10px"
- id="path3237" />
- <path
- d="m 181.6928,377.81503 0,3.30078 -0.89844,0 0,-3.27148 c 0,-0.51757 -0.10091,-0.90494 -0.30273,-1.16211 -0.20183,-0.25716 -0.50456,-0.38574 -0.9082,-0.38574 -0.48503,0 -0.86752,0.15463 -1.14746,0.46387 -0.27995,0.30924 -0.41993,0.73079 -0.41993,1.26464 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.21485,-0.32877 0.46712,-0.57454 0.75684,-0.7373 0.29297,-0.16276 0.62988,-0.24414 1.01074,-0.24414 0.62825,0 1.10351,0.19532 1.42578,0.58594 0.32226,0.38737 0.4834,0.95866 0.4834,1.71386"
- style="font-size:10px"
- id="path3239" />
- </g>
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- id="text3017">
- <path
- d="m 367.17007,356.71783 -2.7832,-7.29003 1.03027,0 2.30958,6.13769 2.31445,-6.13769 1.02539,0 -2.77832,7.29003 -1.11817,0"
- style="font-size:10px"
- id="path3242" />
- <path
- d="m 371.87222,351.24908 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3244" />
- <path
- d="m 377.81461,352.08893 c -0.10092,-0.0586 -0.2116,-0.10091 -0.33204,-0.12695 -0.11719,-0.0293 -0.24739,-0.0439 -0.39062,-0.0439 -0.50782,0 -0.89844,0.16602 -1.17188,0.49805 -0.27018,0.32878 -0.40527,0.80241 -0.40527,1.4209 l 0,2.88085 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.1888,-0.33202 0.43457,-0.57779 0.73731,-0.7373 0.30273,-0.16276 0.67057,-0.24414 1.10351,-0.24414 0.0618,0 0.13021,0.005 0.20508,0.0146 0.0749,0.007 0.15787,0.0179 0.24902,0.0342 l 0.005,0.92285"
- style="font-size:10px"
- id="path3246" />
- <path
- d="m 379.65543,349.69635 0,1.55273 1.85058,0 0,0.69825 -1.85058,0 0,2.96875 c -1e-5,0.44596 0.0602,0.73242 0.18066,0.85937 0.1237,0.12696 0.37272,0.19043 0.74707,0.19043 l 0.92285,0 0,0.75195 -0.92285,0 c -0.69336,0 -1.17188,-0.12858 -1.43555,-0.38574 -0.26367,-0.26041 -0.39551,-0.73242 -0.3955,-1.41601 l 0,-2.96875 -0.65918,0 0,-0.69825 0.65918,0 0,-1.55273 0.90332,0"
- style="font-size:10px"
- id="path3248" />
- <path
- d="m 382.59976,354.55963 0,-3.31055 0.89844,0 0,3.27637 c 0,0.51758 0.10091,0.90658 0.30273,1.16699 0.20182,0.25717 0.50456,0.38575 0.90821,0.38575 0.48502,0 0.86751,-0.15463 1.14746,-0.46387 0.2832,-0.30924 0.4248,-0.73079 0.4248,-1.26465 l 0,-3.10059 0.89844,0 0,5.46875 -0.89844,0 0,-0.83984 c -0.2181,0.33203 -0.47201,0.57943 -0.76172,0.74219 -0.28646,0.1595 -0.62012,0.23926 -1.00097,0.23926 -0.62826,0 -1.10515,-0.19532 -1.43067,-0.58594 -0.32552,-0.39063 -0.48828,-0.96191 -0.48828,-1.71387 m 2.26074,-3.44238 0,0"
- style="font-size:10px"
- id="path3250" />
- <path
- d="m 391.52554,353.96881 c -0.72591,0 -1.22884,0.083 -1.50879,0.24902 -0.27995,0.16602 -0.41992,0.44923 -0.41992,0.84961 0,0.31902 0.10417,0.57292 0.3125,0.76172 0.21159,0.18555 0.49805,0.27832 0.85938,0.27832 0.49804,0 0.8968,-0.17578 1.19629,-0.52734 0.30273,-0.35482 0.45409,-0.82519 0.4541,-1.41113 l 0,-0.2002 -0.89356,0 m 1.792,-0.37109 0,3.12011 -0.89844,0 0,-0.83007 c -0.20508,0.33203 -0.46062,0.5778 -0.7666,0.7373 -0.306,0.15625 -0.68035,0.23438 -1.12305,0.23438 -0.5599,0 -1.00586,-0.15625 -1.33789,-0.46875 -0.32878,-0.31576 -0.49317,-0.73731 -0.49317,-1.26465 0,-0.61523 0.20508,-1.0791 0.61524,-1.3916 0.41341,-0.3125 1.02864,-0.46875 1.8457,-0.46875 l 1.25977,0 0,-0.0879 c -1e-5,-0.41341 -0.13673,-0.73242 -0.41016,-0.95704 -0.27018,-0.22786 -0.65104,-0.34179 -1.14258,-0.34179 -0.3125,0 -0.61686,0.0374 -0.91308,0.1123 -0.29623,0.0749 -0.58106,0.18718 -0.85449,0.33692 l 0,-0.83008 c 0.32877,-0.12695 0.64778,-0.22135 0.95703,-0.28321 0.30924,-0.0651 0.61035,-0.0976 0.90332,-0.0976 0.79101,0 1.38183,0.20508 1.77246,0.61523 0.39062,0.41016 0.58593,1.03191 0.58594,1.86524"
- style="font-size:10px"
- id="path3252" />
- <path
- d="m 395.173,349.12018 0.89844,0 0,7.59765 -0.89844,0 0,-7.59765"
- style="font-size:10px"
- id="path3254" />
- <path
- d="m 404.61636,351.41022 0,0.84961 c -0.25391,-0.13021 -0.51758,-0.22786 -0.79101,-0.29297 -0.27344,-0.0651 -0.55665,-0.0976 -0.84961,-0.0977 -0.44597,1e-5 -0.78125,0.0684 -1.00586,0.20508 -0.22136,0.13672 -0.33203,0.3418 -0.33203,0.61523 0,0.20834 0.0797,0.37273 0.23926,0.49317 0.1595,0.11719 0.48014,0.22949 0.96191,0.33691 l 0.30762,0.0684 c 0.63801,0.13672 1.09049,0.33041 1.35742,0.58106 0.27018,0.24739 0.40527,0.59407 0.40527,1.04004 0,0.50781 -0.20183,0.90983 -0.60547,1.20605 -0.40039,0.29622 -0.95215,0.44434 -1.65527,0.44434 -0.29297,0 -0.59896,-0.0293 -0.91797,-0.0879 -0.31576,-0.0553 -0.64941,-0.13998 -1.00098,-0.25391 l 0,-0.92774 c 0.33204,0.17253 0.65918,0.30274 0.98145,0.39063 0.32226,0.0846 0.64127,0.12695 0.95703,0.12695 0.42318,0 0.7487,-0.0716 0.97656,-0.21484 0.22786,-0.14648 0.3418,-0.35156 0.3418,-0.61524 0,-0.24413 -0.083,-0.43131 -0.24902,-0.56152 -0.16277,-0.1302 -0.52247,-0.25553 -1.0791,-0.37598 l -0.3125,-0.0732 c -0.55665,-0.11718 -0.95866,-0.29622 -1.20606,-0.53711 -0.2474,-0.24413 -0.37109,-0.57779 -0.37109,-1.00097 0,-0.51432 0.18229,-0.91146 0.54687,-1.19141 0.36458,-0.27994 0.88216,-0.41992 1.55274,-0.41992 0.33202,0 0.64452,0.0244 0.9375,0.0732 0.29296,0.0488 0.56314,0.12208 0.81054,0.21973"
- style="font-size:10px"
- id="path3256" />
- <path
- d="m 410.28043,351.45905 0,0.83984 c -0.25391,-0.13997 -0.50945,-0.24414 -0.76661,-0.3125 -0.25391,-0.0716 -0.51107,-0.10742 -0.77148,-0.10742 -0.58268,0 -1.03516,0.18555 -1.35742,0.55664 -0.32227,0.36784 -0.4834,0.88542 -0.4834,1.55273 0,0.66732 0.16113,1.18653 0.4834,1.55762 0.32226,0.36784 0.77474,0.55176 1.35742,0.55176 0.26041,0 0.51757,-0.0342 0.77148,-0.10254 0.25716,-0.0716 0.5127,-0.17741 0.76661,-0.31738 l 0,0.83007 c -0.25066,0.11719 -0.51108,0.20508 -0.78125,0.26368 -0.26693,0.0586 -0.55177,0.0879 -0.8545,0.0879 -0.82357,0 -1.47786,-0.25879 -1.96289,-0.77637 -0.48502,-0.51758 -0.72754,-1.21582 -0.72754,-2.09473 0,-0.89192 0.24414,-1.59342 0.73243,-2.10449 0.49153,-0.51106 1.16373,-0.7666 2.0166,-0.7666 0.27669,0 0.54687,0.0293 0.81054,0.0879 0.26367,0.0553 0.51921,0.13998 0.76661,0.25391"
- style="font-size:10px"
- id="path3258" />
- <path
- d="m 415.02164,352.08893 c -0.10092,-0.0586 -0.2116,-0.10091 -0.33203,-0.12695 -0.1172,-0.0293 -0.2474,-0.0439 -0.39063,-0.0439 -0.50781,0 -0.89844,0.16602 -1.17187,0.49805 -0.27019,0.32878 -0.40528,0.80241 -0.40528,1.4209 l 0,2.88085 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.1888,-0.33202 0.43457,-0.57779 0.73731,-0.7373 0.30273,-0.16276 0.67057,-0.24414 1.10351,-0.24414 0.0618,0 0.13021,0.005 0.20508,0.0146 0.0749,0.007 0.15787,0.0179 0.24902,0.0342 l 0.005,0.92285"
- style="font-size:10px"
- id="path3260" />
- <path
- d="m 420.43668,353.75885 0,0.43945 -4.13086,0 c 0.0391,0.61849 0.2246,1.0905 0.55664,1.41602 0.33528,0.32227 0.80078,0.4834 1.39648,0.4834 0.34505,0 0.67871,-0.0423 1.00098,-0.12696 0.32551,-0.0846 0.64778,-0.21158 0.9668,-0.38086 l 0,0.84961 c -0.32228,0.13672 -0.65268,0.24089 -0.99122,0.3125 -0.33854,0.0716 -0.68197,0.10743 -1.03027,0.10743 -0.8724,0 -1.56413,-0.25391 -2.07519,-0.76172 -0.50782,-0.50781 -0.76172,-1.19466 -0.76172,-2.06055 0,-0.89518 0.24088,-1.60481 0.72265,-2.12891 0.48503,-0.52733 1.1377,-0.79101 1.95801,-0.79101 0.73567,0 1.31673,0.23763 1.74316,0.71289 0.42969,0.47201 0.64453,1.11491 0.64454,1.92871 m -0.89844,-0.26367 c -0.007,-0.49153 -0.14486,-0.88379 -0.41504,-1.17676 -0.26693,-0.29296 -0.62175,-0.43945 -1.06445,-0.43945 -0.50131,0 -0.90333,0.1416 -1.20606,0.4248 -0.29948,0.28321 -0.47201,0.68197 -0.51758,1.19629 l 3.20313,-0.005"
- style="font-size:10px"
- id="path3262" />
- <path
- d="m 426.58902,353.75885 0,0.43945 -4.13086,0 c 0.0391,0.61849 0.22461,1.0905 0.55664,1.41602 0.33529,0.32227 0.80078,0.4834 1.39649,0.4834 0.34504,0 0.6787,-0.0423 1.00097,-0.12696 0.32552,-0.0846 0.64778,-0.21158 0.9668,-0.38086 l 0,0.84961 c -0.32227,0.13672 -0.65268,0.24089 -0.99121,0.3125 -0.33855,0.0716 -0.68197,0.10743 -1.03028,0.10743 -0.87239,0 -1.56412,-0.25391 -2.07519,-0.76172 -0.50781,-0.50781 -0.76172,-1.19466 -0.76172,-2.06055 0,-0.89518 0.24089,-1.60481 0.72266,-2.12891 0.48502,-0.52733 1.13769,-0.79101 1.958,-0.79101 0.73568,0 1.31673,0.23763 1.74317,0.71289 0.42968,0.47201 0.64452,1.11491 0.64453,1.92871 m -0.89844,-0.26367 c -0.007,-0.49153 -0.14486,-0.88379 -0.41504,-1.17676 -0.26693,-0.29296 -0.62175,-0.43945 -1.06445,-0.43945 -0.5013,0 -0.90332,0.1416 -1.20605,0.4248 -0.29949,0.28321 -0.47201,0.68197 -0.51758,1.19629 l 3.20312,-0.005"
- style="font-size:10px"
- id="path3264" />
- <path
- d="m 432.60953,353.41705 0,3.30078 -0.89844,0 0,-3.27148 c 0,-0.51757 -0.10092,-0.90494 -0.30273,-1.16211 -0.20183,-0.25716 -0.50457,-0.38574 -0.90821,-0.38574 -0.48503,0 -0.86751,0.15463 -1.14746,0.46387 -0.27995,0.30924 -0.41992,0.73079 -0.41992,1.26464 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.21484,-0.32877 0.46712,-0.57454 0.75684,-0.7373 0.29296,-0.16276 0.62988,-0.24414 1.01074,-0.24414 0.62825,0 1.10351,0.19532 1.42578,0.58594 0.32226,0.38737 0.48339,0.95866 0.4834,1.71386"
- style="font-size:10px"
- id="path3266" />
- <path
- d="m 439.71402,351.87897 c -0.48177,0 -0.86263,0.1888 -1.14258,0.5664 -0.27995,0.37436 -0.41992,0.88868 -0.41992,1.54297 0,0.6543 0.13834,1.17025 0.41504,1.54785 0.27994,0.37435 0.66243,0.56153 1.14746,0.56153 0.47851,0 0.85774,-0.1888 1.1377,-0.56641 0.27994,-0.3776 0.41991,-0.89192 0.41992,-1.54297 -10e-6,-0.64778 -0.13998,-1.16048 -0.41992,-1.53808 -0.27996,-0.38086 -0.65919,-0.57129 -1.1377,-0.57129 m 0,-0.76172 c 0.78125,0 1.39485,0.25391 1.84082,0.76172 0.44596,0.50781 0.66894,1.21094 0.66895,2.10937 -1e-5,0.89519 -0.22299,1.59831 -0.66895,2.10938 -0.44597,0.50781 -1.05957,0.76172 -1.84082,0.76172 -0.78451,0 -1.39974,-0.25391 -1.8457,-0.76172 -0.44271,-0.51107 -0.66407,-1.21419 -0.66407,-2.10938 0,-0.89843 0.22136,-1.60156 0.66407,-2.10937 0.44596,-0.50781 1.06119,-0.76172 1.8457,-0.76172"
- style="font-size:10px"
- id="path3268" />
- <path
- d="m 446.87711,352.08893 c -0.10092,-0.0586 -0.2116,-0.10091 -0.33204,-0.12695 -0.11719,-0.0293 -0.24739,-0.0439 -0.39062,-0.0439 -0.50782,0 -0.89844,0.16602 -1.17188,0.49805 -0.27018,0.32878 -0.40527,0.80241 -0.40527,1.4209 l 0,2.88085 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.1888,-0.33202 0.43457,-0.57779 0.73731,-0.7373 0.30273,-0.16276 0.67057,-0.24414 1.10351,-0.24414 0.0618,0 0.13021,0.005 0.20508,0.0146 0.0749,0.007 0.15787,0.0179 0.24902,0.0342 l 0.005,0.92285"
- style="font-size:10px"
- id="path3270" />
- <path
- d="m 447.82925,351.24908 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3272" />
- <path
- d="m 454.20132,353.91998 c 0,-0.65104 -0.13509,-1.15559 -0.40527,-1.51367 -0.26693,-0.35807 -0.64291,-0.5371 -1.12793,-0.53711 -0.48177,1e-5 -0.85775,0.17904 -1.12793,0.53711 -0.26693,0.35808 -0.40039,0.86263 -0.40039,1.51367 0,0.64779 0.13346,1.15072 0.40039,1.50879 0.27018,0.35808 0.64616,0.53711 1.12793,0.53711 0.48502,0 0.861,-0.17903 1.12793,-0.53711 0.27018,-0.35807 0.40527,-0.861 0.40527,-1.50879 m 0.89844,2.11914 c 0,0.93099 -0.20671,1.62272 -0.62012,2.0752 -0.41341,0.45573 -1.04655,0.68359 -1.89941,0.68359 -0.31576,0 -0.61361,-0.0244 -0.89355,-0.0732 -0.27995,-0.0456 -0.55176,-0.11719 -0.81543,-0.21484 l 0,-0.87403 c 0.26367,0.14323 0.52408,0.24903 0.78125,0.31739 0.25716,0.0684 0.5192,0.10253 0.78613,0.10254 0.58919,-10e-6 1.03027,-0.15463 1.32324,-0.46387 0.29297,-0.30599 0.43945,-0.76986 0.43945,-1.3916 l 0,-0.44434 c -0.18555,0.32227 -0.42318,0.56315 -0.71289,0.72266 -0.28971,0.1595 -0.63639,0.23925 -1.04004,0.23925 -0.67057,0 -1.21093,-0.25553 -1.62109,-0.7666 -0.41016,-0.51106 -0.61523,-1.18815 -0.61523,-2.03125 0,-0.84635 0.20507,-1.52506 0.61523,-2.03613 0.41016,-0.51106 0.95052,-0.7666 1.62109,-0.7666 0.40365,0 0.75033,0.0798 1.04004,0.23926 0.28971,0.15951 0.52734,0.40039 0.71289,0.72265 l 0,-0.83008 0.89844,0 0,4.79004"
- style="font-size:10px"
- id="path3274" />
- <path
- d="m 456.95035,351.24908 0.89844,0 0,5.46875 -0.89844,0 0,-5.46875 m 0,-2.1289 0.89844,0 0,1.13769 -0.89844,0 0,-1.13769"
- style="font-size:10px"
- id="path3276" />
- <path
- d="m 464.26968,353.41705 0,3.30078 -0.89843,0 0,-3.27148 c -10e-6,-0.51757 -0.10092,-0.90494 -0.30274,-1.16211 -0.20183,-0.25716 -0.50456,-0.38574 -0.9082,-0.38574 -0.48503,0 -0.86752,0.15463 -1.14746,0.46387 -0.27995,0.30924 -0.41993,0.73079 -0.41992,1.26464 l 0,3.09082 -0.90332,0 0,-5.46875 0.90332,0 0,0.84961 c 0.21484,-0.32877 0.46712,-0.57454 0.75683,-0.7373 0.29297,-0.16276 0.62988,-0.24414 1.01074,-0.24414 0.62826,0 1.10352,0.19532 1.42579,0.58594 0.32226,0.38737 0.48339,0.95866 0.48339,1.71386"
- style="font-size:10px"
- id="path3278" />
- </g>
- <path
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
- d="m 343.73692,26.224389 0.01,294.941191"
- id="path3861"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc"
- transform="translate(12.627039,339.86462)" />
- <path
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0"
- id="path4307"
- d="m 356.48533,366.00457 336.31202,-0.0196"
- style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none" />
- <path
- sodipodi:nodetypes="cc"
- inkscape:connector-curvature="0"
- id="path4309"
- d="m 159.89916,447.6257 -0.0625,145.00422"
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
- <path
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
- d="m 160.03997,448.23877 184.95568,-0.0159"
- id="path4493"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <g
- style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
- id="text4495">
- <path
- d="m 228.57881,442.02737 0.49805,0 0.7666,3.08106 0.76416,-3.08106 0.5542,0 0.7666,3.08106 0.76416,-3.08106 0.50049,0 -0.91553,3.64502 -0.62012,0 -0.76904,-3.16406 -0.77637,3.16406 -0.62011,0 -0.91309,-3.64502"
- style="font-size:5px"
- id="path3141" />
- <path
- d="m 233.71797,442.93802 0.44922,0 0,2.73437 -0.44922,0 0,-2.73437 m 0,-1.06445 0.44922,0 0,0.56884 -0.44922,0 0,-0.56884"
- style="font-size:5px"
- id="path3143" />
- <path
- d="m 237.37764,444.022 0,1.65039 -0.44922,0 0,-1.63574 c 0,-0.25879 -0.0505,-0.45247 -0.15137,-0.58105 -0.10091,-0.12858 -0.25228,-0.19287 -0.4541,-0.19287 -0.24251,0 -0.43376,0.0773 -0.57373,0.23193 -0.13997,0.15462 -0.20996,0.3654 -0.20996,0.63232 l 0,1.54541 -0.45166,0 0,-2.73437 0.45166,0 0,0.4248 c 0.10742,-0.16438 0.23356,-0.28727 0.37842,-0.36865 0.14648,-0.0814 0.31494,-0.12207 0.50537,-0.12207 0.31413,0 0.55176,0.0977 0.71289,0.29297 0.16113,0.19369 0.2417,0.47933 0.2417,0.85693"
- style="font-size:5px"
- id="path3145" />
- <path
- d="m 240.07784,443.35306 0,-1.47949 0.44921,0 0,3.79882 -0.44921,0 0,-0.41015 c -0.0944,0.16276 -0.21404,0.28401 -0.35889,0.36377 -0.14323,0.0781 -0.31576,0.11718 -0.51758,0.11718 -0.3304,0 -0.59977,-0.13183 -0.80811,-0.3955 -0.2067,-0.26367 -0.31005,-0.61035 -0.31005,-1.04004 0,-0.42969 0.10335,-0.77637 0.31005,-1.04004 0.20834,-0.26367 0.47771,-0.39551 0.80811,-0.39551 0.20182,0 0.37435,0.0399 0.51758,0.11963 0.14485,0.0781 0.26448,0.19857 0.35889,0.36133 m -1.53077,0.95459 c 0,0.3304 0.0676,0.59 0.20264,0.77881 0.13672,0.18717 0.32389,0.28076 0.56152,0.28076 0.23763,0 0.42481,-0.0936 0.56153,-0.28076 0.13671,-0.18881 0.20507,-0.44841 0.20508,-0.77881 -1e-5,-0.3304 -0.0684,-0.58919 -0.20508,-0.77637 -0.13672,-0.1888 -0.3239,-0.2832 -0.56153,-0.2832 -0.23763,0 -0.4248,0.0944 -0.56152,0.2832 -0.13509,0.18718 -0.20264,0.44597 -0.20264,0.77637"
- style="font-size:5px"
- id="path3147" />
- <path
- d="m 242.51192,443.25296 c -0.24089,0 -0.43132,0.0944 -0.57129,0.2832 -0.13998,0.18718 -0.20996,0.44434 -0.20996,0.77149 0,0.32715 0.0692,0.58512 0.20752,0.77392 0.13997,0.18718 0.33121,0.28077 0.57373,0.28077 0.23925,0 0.42887,-0.0944 0.56884,-0.28321 0.13998,-0.1888 0.20996,-0.44596 0.20997,-0.77148 -1e-5,-0.32389 -0.07,-0.58024 -0.20997,-0.76905 -0.13997,-0.19042 -0.32959,-0.28564 -0.56884,-0.28564 m 0,-0.38086 c 0.39062,0 0.69742,0.12696 0.92041,0.38086 0.22298,0.25391 0.33447,0.60547 0.33447,1.05469 0,0.44759 -0.11149,0.79915 -0.33447,1.05469 -0.22299,0.2539 -0.52979,0.38085 -0.92041,0.38085 -0.39226,0 -0.69987,-0.12695 -0.92285,-0.38085 -0.22136,-0.25554 -0.33204,-0.6071 -0.33204,-1.05469 0,-0.44922 0.11068,-0.80078 0.33204,-1.05469 0.22298,-0.2539 0.53059,-0.38086 0.92285,-0.38086"
- style="font-size:5px"
- id="path3149" />
- <path
- d="m 244.24776,442.93802 0.44922,0 0.56152,2.13379 0.55908,-2.13379 0.52979,0 0.56152,2.13379 0.55908,-2.13379 0.44922,0 -0.71533,2.73437 -0.52979,0 -0.58838,-2.24121 -0.59082,2.24121 -0.52978,0 -0.71533,-2.73437"
- style="font-size:5px"
- id="path3151" />
- <path
- d="m 249.70674,442.02737 3.0835,0 0,0.41504 -1.29395,0 0,3.22998 -0.4956,0 0,-3.22998 -1.29395,0 0,-0.41504"
- style="font-size:5px"
- id="path3153" />
- <path
- d="m 253.09297,442.93802 0.44922,0 0,2.73437 -0.44922,0 0,-2.73437 m 0,-1.06445 0.44922,0 0,0.56884 -0.44922,0 0,-0.56884"
- style="font-size:5px"
- id="path3155" />
- <path
- d="m 254.92403,442.16165 0,0.77637 0.92529,0 0,0.34912 -0.92529,0 0,1.48437 c 0,0.22299 0.0301,0.36622 0.0903,0.42969 0.0618,0.0635 0.18636,0.0952 0.37353,0.0952 l 0.46143,0 0,0.37597 -0.46143,0 c -0.34668,0 -0.58593,-0.0643 -0.71777,-0.19287 -0.13184,-0.13021 -0.19775,-0.36621 -0.19775,-0.70801 l 0,-1.48437 -0.32959,0 0,-0.34912 0.32959,0 0,-0.77637 0.45166,0"
- style="font-size:5px"
- id="path3157" />
- <path
- d="m 256.44258,441.87357 0.44922,0 0,3.79882 -0.44922,0 0,-3.79882"
- style="font-size:5px"
- id="path3159" />
- <path
- d="m 260.16817,444.1929 0,0.21973 -2.06543,0 c 0.0195,0.30924 0.1123,0.54525 0.27832,0.70801 0.16764,0.16113 0.40039,0.2417 0.69824,0.2417 0.17252,0 0.33935,-0.0212 0.50049,-0.0635 0.16276,-0.0423 0.32389,-0.1058 0.4834,-0.19043 l 0,0.4248 c -0.16114,0.0684 -0.32634,0.12045 -0.49561,0.15625 -0.16927,0.0358 -0.34098,0.0537 -0.51514,0.0537 -0.43619,0 -0.78206,-0.12695 -1.03759,-0.38085 -0.25391,-0.25391 -0.38086,-0.59733 -0.38086,-1.03028 0,-0.44759 0.12044,-0.8024 0.36133,-1.06445 0.24251,-0.26367 0.56884,-0.39551 0.979,-0.39551 0.36784,0 0.65836,0.11882 0.87158,0.35645 0.21484,0.236 0.32226,0.55745 0.32227,0.96435 m -0.44922,-0.13183 c -0.003,-0.24577 -0.0724,-0.4419 -0.20752,-0.58838 -0.13347,-0.14649 -0.31088,-0.21973 -0.53223,-0.21973 -0.25065,0 -0.45166,0.0708 -0.60303,0.2124 -0.14974,0.14161 -0.236,0.34099 -0.25878,0.59815 l 1.60156,-0.002"
- style="font-size:5px"
- id="path3161" />
- </g>
- <g
- aria-label="Content area origin"
- style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
- id="text4089">
- <path
- d="m 172.21587,456.09125 v 1.04004 q -0.49805,-0.46387 -1.06446,-0.69336 -0.56152,-0.22949 -1.19629,-0.22949 -1.25,0 -1.91406,0.7666 -0.66406,0.76172 -0.66406,2.20703 0,1.44043 0.66406,2.20703 0.66406,0.76172 1.91406,0.76172 0.63477,0 1.19629,-0.22949 0.56641,-0.2295 1.06446,-0.69336 v 1.03027 q -0.51758,0.35156 -1.09864,0.52734 -0.57617,0.17578 -1.2207,0.17578 -1.65527,0 -2.60742,-1.01074 -0.95215,-1.01562 -0.95215,-2.76855 0,-1.75781 0.95215,-2.76856 0.95215,-1.01562 2.60742,-1.01562 0.6543,0 1.23047,0.17578 0.58105,0.1709 1.08887,0.51758 z"
- style="font-size:10px"
- id="path4091" />
- <path
- d="m 175.82915,457.9809 q -0.72266,0 -1.14258,0.5664 -0.41992,0.56153 -0.41992,1.54297 0,0.98145 0.41504,1.54785 0.41992,0.56153 1.14746,0.56153 0.71777,0 1.13769,-0.56641 0.41992,-0.56641 0.41992,-1.54297 0,-0.97168 -0.41992,-1.53808 -0.41992,-0.57129 -1.13769,-0.57129 z m 0,-0.76172 q 1.17187,0 1.84082,0.76172 0.66894,0.76171 0.66894,2.10937 0,1.34277 -0.66894,2.10938 -0.66895,0.76171 -1.84082,0.76171 -1.17676,0 -1.84571,-0.76171 -0.66406,-0.76661 -0.66406,-2.10938 0,-1.34766 0.66406,-2.10937 0.66895,-0.76172 1.84571,-0.76172 z"
- style="font-size:10px"
- id="path4093" />
- <path
- d="m 184.36919,459.51898 v 3.30078 h -0.89844 v -3.27148 q 0,-0.77637 -0.30274,-1.16211 -0.30273,-0.38574 -0.9082,-0.38574 -0.72754,0 -1.14746,0.46386 -0.41992,0.46387 -0.41992,1.26465 v 3.09082 h -0.90332 v -5.46875 h 0.90332 v 0.84961 q 0.32226,-0.49316 0.75683,-0.7373 0.43946,-0.24414 1.01075,-0.24414 0.94238,0 1.42578,0.58593 0.4834,0.58106 0.4834,1.71387 z"
- style="font-size:10px"
- id="path4095" />
- <path
- d="m 187.05962,455.79828 v 1.55273 h 1.85058 v 0.69825 h -1.85058 v 2.96875 q 0,0.66894 0.18066,0.85937 0.18555,0.19043 0.74707,0.19043 h 0.92285 v 0.75195 h -0.92285 q -1.04004,0 -1.43555,-0.38574 -0.3955,-0.39062 -0.3955,-1.41601 v -2.96875 h -0.65918 v -0.69825 h 0.65918 v -1.55273 z"
- style="font-size:10px"
- id="path4097" />
- <path
- d="m 194.77446,459.86078 v 0.43945 h -4.13086 q 0.0586,0.92774 0.55664,1.41602 0.50293,0.4834 1.39649,0.4834 0.51757,0 1.00097,-0.12696 0.48828,-0.12695 0.9668,-0.38086 v 0.84961 q -0.4834,0.20508 -0.99121,0.3125 -0.50781,0.10742 -1.03028,0.10742 -1.30859,0 -2.07519,-0.76171 -0.76172,-0.76172 -0.76172,-2.06055 0,-1.34277 0.72266,-2.12891 0.72754,-0.79101 1.958,-0.79101 1.10352,0 1.74317,0.71289 0.64453,0.70801 0.64453,1.92871 z m -0.89844,-0.26367 q -0.01,-0.73731 -0.41504,-1.17676 -0.40039,-0.43945 -1.06445,-0.43945 -0.75195,0 -1.20605,0.4248 -0.44922,0.42481 -0.51758,1.19629 z"
- style="font-size:10px"
- id="path4099" />
- <path
- d="m 200.79497,459.51898 v 3.30078 h -0.89844 v -3.27148 q 0,-0.77637 -0.30273,-1.16211 -0.30274,-0.38574 -0.90821,-0.38574 -0.72754,0 -1.14746,0.46386 -0.41992,0.46387 -0.41992,1.26465 v 3.09082 h -0.90332 v -5.46875 h 0.90332 v 0.84961 q 0.32227,-0.49316 0.75684,-0.7373 0.43945,-0.24414 1.01074,-0.24414 0.94238,0 1.42578,0.58593 0.4834,0.58106 0.4834,1.71387 z"
- style="font-size:10px"
- id="path4101" />
- <path
- d="m 203.4854,455.79828 v 1.55273 h 1.85058 v 0.69825 h -1.85058 v 2.96875 q 0,0.66894 0.18066,0.85937 0.18555,0.19043 0.74707,0.19043 h 0.92285 v 0.75195 h -0.92285 q -1.04004,0 -1.43555,-0.38574 -0.3955,-0.39062 -0.3955,-1.41601 v -2.96875 h -0.65918 v -0.69825 h 0.65918 v -1.55273 z"
- style="font-size:10px"
- id="path4103" />
- <path
- d="m 212.19145,460.07074 q -1.08887,0 -1.50879,0.24902 -0.41992,0.24903 -0.41992,0.84961 0,0.47852 0.3125,0.76172 0.31738,0.27832 0.85938,0.27832 0.74707,0 1.19629,-0.52734 0.4541,-0.53223 0.4541,-1.41113 v -0.2002 z m 1.79199,-0.37109 v 3.12011 h -0.89843 v -0.83007 q -0.30762,0.49804 -0.7666,0.7373 -0.45899,0.23437 -1.12305,0.23437 -0.83985,0 -1.33789,-0.46875 -0.49317,-0.47363 -0.49317,-1.26464 0,-0.92286 0.61524,-1.39161 0.62012,-0.46875 1.8457,-0.46875 h 1.25977 v -0.0879 q 0,-0.62011 -0.41016,-0.95703 -0.40527,-0.34179 -1.14258,-0.34179 -0.46875,0 -0.91308,0.1123 -0.44434,0.11231 -0.8545,0.33691 v -0.83007 q 0.49317,-0.19043 0.95704,-0.28321 0.46386,-0.0976 0.90332,-0.0976 1.18652,0 1.77246,0.61523 0.58593,0.61524 0.58593,1.86524 z"
- style="font-size:10px"
- id="path4105" />
- <path
- d="m 219.00786,458.19086 q -0.15137,-0.0879 -0.33203,-0.12696 -0.17578,-0.0439 -0.39063,-0.0439 -0.76172,0 -1.17187,0.49805 -0.40528,0.49316 -0.40528,1.42089 v 2.88086 h -0.90332 v -5.46875 h 0.90332 v 0.84961 q 0.28321,-0.49804 0.73731,-0.7373 0.4541,-0.24414 1.10351,-0.24414 0.0928,0 0.20508,0.0147 0.11231,0.01 0.24903,0.0342 z"
- style="font-size:10px"
- id="path4107" />
- <path
- d="m 224.4229,459.86078 v 0.43945 h -4.13086 q 0.0586,0.92774 0.55664,1.41602 0.50293,0.4834 1.39648,0.4834 0.51758,0 1.00098,-0.12696 0.48828,-0.12695 0.9668,-0.38086 v 0.84961 q -0.4834,0.20508 -0.99121,0.3125 -0.50782,0.10742 -1.03028,0.10742 -1.30859,0 -2.07519,-0.76171 -0.76172,-0.76172 -0.76172,-2.06055 0,-1.34277 0.72265,-2.12891 0.72754,-0.79101 1.95801,-0.79101 1.10352,0 1.74317,0.71289 0.64453,0.70801 0.64453,1.92871 z m -0.89844,-0.26367 q -0.01,-0.73731 -0.41504,-1.17676 -0.40039,-0.43945 -1.06445,-0.43945 -0.75196,0 -1.20606,0.4248 -0.44922,0.42481 -0.51758,1.19629 z"
- style="font-size:10px"
- id="path4109" />
- <path
- d="m 228.38286,460.07074 q -1.08887,0 -1.50879,0.24902 -0.41992,0.24903 -0.41992,0.84961 0,0.47852 0.3125,0.76172 0.31738,0.27832 0.85937,0.27832 0.74707,0 1.19629,-0.52734 0.4541,-0.53223 0.4541,-1.41113 v -0.2002 z m 1.79199,-0.37109 v 3.12011 h -0.89844 v -0.83007 q -0.30761,0.49804 -0.7666,0.7373 -0.45898,0.23437 -1.12305,0.23437 -0.83984,0 -1.33789,-0.46875 -0.49316,-0.47363 -0.49316,-1.26464 0,-0.92286 0.61523,-1.39161 0.62012,-0.46875 1.84571,-0.46875 h 1.25976 v -0.0879 q 0,-0.62011 -0.41015,-0.95703 -0.40528,-0.34179 -1.14258,-0.34179 -0.46875,0 -0.91309,0.1123 -0.44433,0.11231 -0.85449,0.33691 v -0.83007 q 0.49316,-0.19043 0.95703,-0.28321 0.46387,-0.0976 0.90332,-0.0976 1.18653,0 1.77246,0.61523 0.58594,0.61524 0.58594,1.86524 z"
- style="font-size:10px"
- id="path4111" />
- <path
- d="m 237.33305,457.9809 q -0.72265,0 -1.14257,0.5664 -0.41993,0.56153 -0.41993,1.54297 0,0.98145 0.41504,1.54785 0.41992,0.56153 1.14746,0.56153 0.71778,0 1.1377,-0.56641 0.41992,-0.56641 0.41992,-1.54297 0,-0.97168 -0.41992,-1.53808 -0.41992,-0.57129 -1.1377,-0.57129 z m 0,-0.76172 q 1.17188,0 1.84082,0.76172 0.66895,0.76171 0.66895,2.10937 0,1.34277 -0.66895,2.10938 -0.66894,0.76171 -1.84082,0.76171 -1.17675,0 -1.8457,-0.76171 -0.66406,-0.76661 -0.66406,-2.10938 0,-1.34766 0.66406,-2.10937 0.66895,-0.76172 1.8457,-0.76172 z"
- style="font-size:10px"
- id="path4113" />
- <path
- d="m 244.49614,458.19086 q -0.15137,-0.0879 -0.33203,-0.12696 -0.17578,-0.0439 -0.39063,-0.0439 -0.76172,0 -1.17187,0.49805 -0.40528,0.49316 -0.40528,1.42089 v 2.88086 h -0.90332 v -5.46875 h 0.90332 v 0.84961 q 0.28321,-0.49804 0.73731,-0.7373 0.4541,-0.24414 1.10352,-0.24414 0.0928,0 0.20507,0.0147 0.11231,0.01 0.24903,0.0342 z"
- style="font-size:10px"
- id="path4115" />
- <path
- d="m 245.44829,457.35101 h 0.89844 v 5.46875 h -0.89844 z m 0,-2.1289 h 0.89844 v 1.13769 h -0.89844 z"
- style="font-size:10px"
- id="path4117" />
- <path
- d="m 251.82036,460.02191 q 0,-0.97656 -0.40528,-1.51367 -0.40039,-0.53711 -1.12792,-0.53711 -0.72266,0 -1.12793,0.53711 -0.4004,0.53711 -0.4004,1.51367 0,0.97168 0.4004,1.50879 0.40527,0.53711 1.12793,0.53711 0.72753,0 1.12792,-0.53711 0.40528,-0.53711 0.40528,-1.50879 z m 0.89844,2.11914 q 0,1.39649 -0.62012,2.0752 -0.62012,0.68359 -1.89942,0.68359 -0.47363,0 -0.89355,-0.0732 -0.41992,-0.0684 -0.81543,-0.21484 v -0.87403 q 0.39551,0.21485 0.78125,0.31738 0.38574,0.10254 0.78613,0.10254 0.88379,0 1.32325,-0.46386 0.43945,-0.45899 0.43945,-1.3916 v -0.44434 q -0.27832,0.4834 -0.71289,0.72266 -0.43457,0.23925 -1.04004,0.23925 -1.00586,0 -1.6211,-0.7666 -0.61523,-0.7666 -0.61523,-2.03125 0,-1.26953 0.61523,-2.03613 0.61524,-0.7666 1.6211,-0.7666 0.60547,0 1.04004,0.23926 0.43457,0.23925 0.71289,0.72265 v -0.83008 h 0.89844 z"
- style="font-size:10px"
- id="path4119" />
- <path
- d="m 254.56938,457.35101 h 0.89844 v 5.46875 h -0.89844 z m 0,-2.1289 h 0.89844 v 1.13769 h -0.89844 z"
- style="font-size:10px"
- id="path4121" />
- <path
- d="m 261.88872,459.51898 v 3.30078 h -0.89844 v -3.27148 q 0,-0.77637 -0.30273,-1.16211 -0.30274,-0.38574 -0.90821,-0.38574 -0.72754,0 -1.14746,0.46386 -0.41992,0.46387 -0.41992,1.26465 v 3.09082 h -0.90332 v -5.46875 h 0.90332 v 0.84961 q 0.32227,-0.49316 0.75684,-0.7373 0.43945,-0.24414 1.01074,-0.24414 0.94238,0 1.42578,0.58593 0.4834,0.58106 0.4834,1.71387 z"
- style="font-size:10px"
- id="path4123" />
- </g>
- </g>
-</svg>
diff --git a/3rdparty/glfw/source/docs/vulkan.dox b/3rdparty/glfw/source/docs/vulkan.dox
deleted file mode 100644
index 3189103..0000000
--- a/3rdparty/glfw/source/docs/vulkan.dox
+++ /dev/null
@@ -1,246 +0,0 @@
-/*!
-
-@page vulkan_guide Vulkan guide
-
-@tableofcontents
-
-This guide is intended to fill the gaps between the official [Vulkan
-resources](https://www.khronos.org/vulkan/) and the rest of the GLFW
-documentation and is not a replacement for either. It assumes some familiarity
-with Vulkan concepts like loaders, devices, queues and surfaces and leaves it to
-the Vulkan documentation to explain the details of Vulkan functions.
-
-To develop for Vulkan you should download the [LunarG Vulkan
-SDK](https://vulkan.lunarg.com/) for your platform. Apart from headers and link
-libraries, they also provide the validation layers necessary for development.
-
-The [Vulkan Tutorial](https://vulkan-tutorial.com/) has more information on how
-to use GLFW and Vulkan. The [Khronos Vulkan
-Samples](https://github.com/KhronosGroup/Vulkan-Samples) also use GLFW, although
-with a small framework in between.
-
-For details on a specific Vulkan support function, see the @ref vulkan. There
-are also guides for the other areas of the GLFW API.
-
- - @ref intro_guide
- - @ref window_guide
- - @ref context_guide
- - @ref monitor_guide
- - @ref input_guide
-
-
-@section vulkan_loader Finding the Vulkan loader
-
-GLFW itself does not ever need to be linked against the Vulkan loader.
-
-By default, GLFW will load the Vulkan loader dynamically at runtime via its standard name:
-`vulkan-1.dll` on Windows, `libvulkan.so.1` on Linux and other Unix-like systems and
-`libvulkan.1.dylib` on macOS.
-
-@macos GLFW will also look up and search the executable subdirectory of your application
-bundle.
-
-If your code is using a Vulkan loader with a different name or in a non-standard location
-you will need to direct GLFW to it. Pass your version of `vkGetInstanceProcAddr` to @ref
-glfwInitVulkanLoader before initializing GLFW and it will use that function for all Vulkan
-entry point retrieval. This prevents GLFW from dynamically loading the Vulkan loader.
-
-@code
-glfwInitVulkanLoader(vkGetInstanceProcAddr);
-@endcode
-
-@macos To make your application be redistributable you will need to set up the application
-bundle according to the LunarG SDK documentation. This is explained in more detail in the
-[SDK documentation for macOS](https://vulkan.lunarg.com/doc/sdk/latest/mac/getting_started.html).
-
-
-@section vulkan_include Including the Vulkan header file
-
-To have GLFW include the Vulkan header, define @ref GLFW_INCLUDE_VULKAN before including
-the GLFW header.
-
-@code
-#define GLFW_INCLUDE_VULKAN
-#include <GLFW/glfw3.h>
-@endcode
-
-If you instead want to include the Vulkan header from a custom location or use
-your own custom Vulkan header then do this before the GLFW header.
-
-@code
-#include <path/to/vulkan.h>
-#include <GLFW/glfw3.h>
-@endcode
-
-Unless a Vulkan header is included, either by the GLFW header or above it, the following
-GLFW functions will not be declared, as depend on Vulkan types.
-
- - @ref glfwInitVulkanLoader
- - @ref glfwGetInstanceProcAddress
- - @ref glfwGetPhysicalDevicePresentationSupport
- - @ref glfwCreateWindowSurface
-
-The `VK_USE_PLATFORM_*_KHR` macros do not need to be defined for the Vulkan part
-of GLFW to work. Define them only if you are using these extensions directly.
-
-
-@section vulkan_support Querying for Vulkan support
-
-If you are linking directly against the Vulkan loader then you can skip this
-section. The canonical desktop loader library exports all Vulkan core and
-Khronos extension functions, allowing them to be called directly.
-
-If you are loading the Vulkan loader dynamically instead of linking directly
-against it, you can check for the availability of a loader and ICD with @ref
-glfwVulkanSupported.
-
-@code
-if (glfwVulkanSupported())
-{
- // Vulkan is available, at least for compute
-}
-@endcode
-
-This function returns `GLFW_TRUE` if the Vulkan loader and any minimally
-functional ICD was found.
-
-If one or both were not found, calling any other Vulkan related GLFW function
-will generate a @ref GLFW_API_UNAVAILABLE error.
-
-
-@subsection vulkan_proc Querying Vulkan function pointers
-
-To load any Vulkan core or extension function from the found loader, call @ref
-glfwGetInstanceProcAddress. To load functions needed for instance creation,
-pass `NULL` as the instance.
-
-@code
-PFN_vkCreateInstance pfnCreateInstance = (PFN_vkCreateInstance)
- glfwGetInstanceProcAddress(NULL, "vkCreateInstance");
-@endcode
-
-Once you have created an instance, you can load from it all other Vulkan core
-functions and functions from any instance extensions you enabled.
-
-@code
-PFN_vkCreateDevice pfnCreateDevice = (PFN_vkCreateDevice)
- glfwGetInstanceProcAddress(instance, "vkCreateDevice");
-@endcode
-
-This function in turn calls `vkGetInstanceProcAddr`. If that fails, the
-function falls back to a platform-specific query of the Vulkan loader (i.e.
-`dlsym` or `GetProcAddress`). If that also fails, the function returns `NULL`.
-For more information about `vkGetInstanceProcAddr`, see the Vulkan
-documentation.
-
-Vulkan also provides `vkGetDeviceProcAddr` for loading device-specific versions
-of Vulkan function. This function can be retrieved from an instance with @ref
-glfwGetInstanceProcAddress.
-
-@code
-PFN_vkGetDeviceProcAddr pfnGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)
- glfwGetInstanceProcAddress(instance, "vkGetDeviceProcAddr");
-@endcode
-
-Device-specific functions may execute a little bit faster, due to not having to
-dispatch internally based on the device passed to them. For more information
-about `vkGetDeviceProcAddr`, see the Vulkan documentation.
-
-
-@section vulkan_ext Querying required Vulkan extensions
-
-To do anything useful with Vulkan you need to create an instance. If you want
-to use Vulkan to render to a window, you must enable the instance extensions
-GLFW requires to create Vulkan surfaces.
-
-To query the instance extensions required, call @ref
-glfwGetRequiredInstanceExtensions.
-
-@code
-uint32_t count;
-const char** extensions = glfwGetRequiredInstanceExtensions(&count);
-@endcode
-
-These extensions must all be enabled when creating instances that are going to
-be passed to @ref glfwGetPhysicalDevicePresentationSupport and @ref
-glfwCreateWindowSurface. The set of extensions will vary depending on platform
-and may also vary depending on graphics drivers and other factors.
-
-If it fails it will return `NULL` and GLFW will not be able to create Vulkan
-window surfaces. You can still use Vulkan for off-screen rendering and compute
-work.
-
-If successful the returned array will always include `VK_KHR_surface`, so if
-you don't require any additional extensions you can pass this list directly to
-the `VkInstanceCreateInfo` struct.
-
-@code
-VkInstanceCreateInfo ici;
-
-memset(&ici, 0, sizeof(ici));
-ici.enabledExtensionCount = count;
-ici.ppEnabledExtensionNames = extensions;
-...
-@endcode
-
-Additional extensions may be required by future versions of GLFW. You should
-check whether any extensions you wish to enable are already in the returned
-array, as it is an error to specify an extension more than once in the
-`VkInstanceCreateInfo` struct.
-
-
-@section vulkan_present Querying for Vulkan presentation support
-
-Not every queue family of every Vulkan device can present images to surfaces.
-To check whether a specific queue family of a physical device supports image
-presentation without first having to create a window and surface, call @ref
-glfwGetPhysicalDevicePresentationSupport.
-
-@code
-if (glfwGetPhysicalDevicePresentationSupport(instance, physical_device, queue_family_index))
-{
- // Queue family supports image presentation
-}
-@endcode
-
-The `VK_KHR_surface` extension additionally provides the
-`vkGetPhysicalDeviceSurfaceSupportKHR` function, which performs the same test on
-an existing Vulkan surface.
-
-
-@section vulkan_window Creating the window
-
-Unless you will be using OpenGL or OpenGL ES with the same window as Vulkan,
-there is no need to create a context. You can disable context creation with the
-[GLFW_CLIENT_API](@ref GLFW_CLIENT_API_hint) hint.
-
-@code
-glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
-GLFWwindow* window = glfwCreateWindow(640, 480, "Window Title", NULL, NULL);
-@endcode
-
-See @ref context_less for more information.
-
-
-@section vulkan_surface Creating a Vulkan window surface
-
-You can create a Vulkan surface (as defined by the `VK_KHR_surface` extension)
-for a GLFW window with @ref glfwCreateWindowSurface.
-
-@code
-VkSurfaceKHR surface;
-VkResult err = glfwCreateWindowSurface(instance, window, NULL, &surface);
-if (err)
-{
- // Window surface creation failed
-}
-@endcode
-
-If an OpenGL or OpenGL ES context was created on the window, the context has
-ownership of the presentation on the window and a Vulkan surface cannot be
-created.
-
-It is your responsibility to destroy the surface. GLFW does not destroy it for
-you. Call `vkDestroySurfaceKHR` function from the same extension to destroy it.
-
-*/
diff --git a/3rdparty/glfw/source/docs/window.dox b/3rdparty/glfw/source/docs/window.dox
deleted file mode 100644
index 32271e3..0000000
--- a/3rdparty/glfw/source/docs/window.dox
+++ /dev/null
@@ -1,1457 +0,0 @@
-/*!
-
-@page window_guide Window guide
-
-@tableofcontents
-
-This guide introduces the window related functions of GLFW. For details on
-a specific function in this category, see the @ref window. There are also
-guides for the other areas of GLFW.
-
- - @ref intro_guide
- - @ref context_guide
- - @ref vulkan_guide
- - @ref monitor_guide
- - @ref input_guide
-
-
-@section window_object Window objects
-
-The @ref GLFWwindow object encapsulates both a window and a context. They are
-created with @ref glfwCreateWindow and destroyed with @ref glfwDestroyWindow, or
-@ref glfwTerminate, if any remain. As the window and context are inseparably
-linked, the object pointer is used as both a context and window handle.
-
-To see the event stream provided to the various window related callbacks, run
-the `events` test program.
-
-
-@subsection window_creation Window creation
-
-A window and its OpenGL or OpenGL ES context are created with @ref
-glfwCreateWindow, which returns a handle to the created window object. For
-example, this creates a 640 by 480 windowed mode window:
-
-@code
-GLFWwindow* window = glfwCreateWindow(640, 480, "My Title", NULL, NULL);
-@endcode
-
-If window creation fails, `NULL` will be returned, so it is necessary to check
-the return value.
-
-The window handle is passed to all window related functions and is provided to
-along with all input events, so event handlers can tell which window received
-the event.
-
-
-@subsubsection window_full_screen Full screen windows
-
-To create a full screen window, you need to specify which monitor the window
-should use. In most cases, the user's primary monitor is a good choice.
-For more information about retrieving monitors, see @ref monitor_monitors.
-
-@code
-GLFWwindow* window = glfwCreateWindow(640, 480, "My Title", glfwGetPrimaryMonitor(), NULL);
-@endcode
-
-Full screen windows cover the entire display area of a monitor, have no border
-or decorations.
-
-Windowed mode windows can be made full screen by setting a monitor with @ref
-glfwSetWindowMonitor, and full screen ones can be made windowed by unsetting it
-with the same function.
-
-Each field of the @ref GLFWvidmode structure corresponds to a function parameter
-or window hint and combine to form the _desired video mode_ for that window.
-The supported video mode most closely matching the desired video mode will be
-set for the chosen monitor as long as the window has input focus. For more
-information about retrieving video modes, see @ref monitor_modes.
-
-Video mode field | Corresponds to
----------------- | --------------
-GLFWvidmode.width | `width` parameter of @ref glfwCreateWindow
-GLFWvidmode.height | `height` parameter of @ref glfwCreateWindow
-GLFWvidmode.redBits | @ref GLFW_RED_BITS hint
-GLFWvidmode.greenBits | @ref GLFW_GREEN_BITS hint
-GLFWvidmode.blueBits | @ref GLFW_BLUE_BITS hint
-GLFWvidmode.refreshRate | @ref GLFW_REFRESH_RATE hint
-
-Once you have a full screen window, you can change its resolution, refresh rate
-and monitor with @ref glfwSetWindowMonitor. If you only need change its
-resolution you can also call @ref glfwSetWindowSize. In all cases, the new
-video mode will be selected the same way as the video mode chosen by @ref
-glfwCreateWindow. If the window has an OpenGL or OpenGL ES context, it will be
-unaffected.
-
-By default, the original video mode of the monitor will be restored and the
-window iconified if it loses input focus, to allow the user to switch back to
-the desktop. This behavior can be disabled with the
-[GLFW_AUTO_ICONIFY](@ref GLFW_AUTO_ICONIFY_hint) window hint, for example if you
-wish to simultaneously cover multiple monitors with full screen windows.
-
-If a monitor is disconnected, all windows that are full screen on that monitor
-will be switched to windowed mode. See @ref monitor_event for more information.
-
-
-@subsubsection window_windowed_full_screen "Windowed full screen" windows
-
-If the closest match for the desired video mode is the current one, the video
-mode will not be changed, making window creation faster and application
-switching much smoother. This is sometimes called _windowed full screen_ or
-_borderless full screen_ window and counts as a full screen window. To create
-such a window, request the current video mode.
-
-@code
-const GLFWvidmode* mode = glfwGetVideoMode(monitor);
-
-glfwWindowHint(GLFW_RED_BITS, mode->redBits);
-glfwWindowHint(GLFW_GREEN_BITS, mode->greenBits);
-glfwWindowHint(GLFW_BLUE_BITS, mode->blueBits);
-glfwWindowHint(GLFW_REFRESH_RATE, mode->refreshRate);
-
-GLFWwindow* window = glfwCreateWindow(mode->width, mode->height, "My Title", monitor, NULL);
-@endcode
-
-This also works for windowed mode windows that are made full screen.
-
-@code
-const GLFWvidmode* mode = glfwGetVideoMode(monitor);
-
-glfwSetWindowMonitor(window, monitor, 0, 0, mode->width, mode->height, mode->refreshRate);
-@endcode
-
-Note that @ref glfwGetVideoMode returns the _current_ video mode of a monitor,
-so if you already have a full screen window on that monitor that you want to
-make windowed full screen, you need to have saved the desktop resolution before.
-
-
-@subsection window_destruction Window destruction
-
-When a window is no longer needed, destroy it with @ref glfwDestroyWindow.
-
-@code
-glfwDestroyWindow(window);
-@endcode
-
-Window destruction always succeeds. Before the actual destruction, all
-callbacks are removed so no further events will be delivered for the window.
-All windows remaining when @ref glfwTerminate is called are destroyed as well.
-
-When a full screen window is destroyed, the original video mode of its monitor
-is restored, but the gamma ramp is left untouched.
-
-
-@subsection window_hints Window creation hints
-
-There are a number of hints that can be set before the creation of a window and
-context. Some affect the window itself, others affect the framebuffer or
-context. These hints are set to their default values each time the library is
-initialized with @ref glfwInit. Integer value hints can be set individually
-with @ref glfwWindowHint and string value hints with @ref glfwWindowHintString.
-You can reset all at once to their defaults with @ref glfwDefaultWindowHints.
-
-Some hints are platform specific. These are always valid to set on any
-platform but they will only affect their specific platform. Other platforms
-will ignore them. Setting these hints requires no platform specific headers or
-calls.
-
-@note Window hints need to be set before the creation of the window and context
-you wish to have the specified attributes. They function as additional
-arguments to @ref glfwCreateWindow.
-
-
-@subsubsection window_hints_hard Hard and soft constraints
-
-Some window hints are hard constraints. These must match the available
-capabilities _exactly_ for window and context creation to succeed. Hints
-that are not hard constraints are matched as closely as possible, but the
-resulting context and framebuffer may differ from what these hints requested.
-
-The following hints are always hard constraints:
-- @ref GLFW_STEREO
-- @ref GLFW_DOUBLEBUFFER
-- [GLFW_CLIENT_API](@ref GLFW_CLIENT_API_hint)
-- [GLFW_CONTEXT_CREATION_API](@ref GLFW_CONTEXT_CREATION_API_hint)
-
-The following additional hints are hard constraints when requesting an OpenGL
-context, but are ignored when requesting an OpenGL ES context:
-- [GLFW_OPENGL_FORWARD_COMPAT](@ref GLFW_OPENGL_FORWARD_COMPAT_hint)
-- [GLFW_OPENGL_PROFILE](@ref GLFW_OPENGL_PROFILE_hint)
-
-
-@subsubsection window_hints_wnd Window related hints
-
-@anchor GLFW_RESIZABLE_hint
-__GLFW_RESIZABLE__ specifies whether the windowed mode window will be resizable
-_by the user_. The window will still be resizable using the @ref
-glfwSetWindowSize function. Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
-This hint is ignored for full screen and undecorated windows.
-
-@anchor GLFW_VISIBLE_hint
-__GLFW_VISIBLE__ specifies whether the windowed mode window will be initially
-visible. Possible values are `GLFW_TRUE` and `GLFW_FALSE`. This hint is
-ignored for full screen windows.
-
-@anchor GLFW_DECORATED_hint
-__GLFW_DECORATED__ specifies whether the windowed mode window will have window
-decorations such as a border, a close widget, etc. An undecorated window will
-not be resizable by the user but will still allow the user to generate close
-events on some platforms. Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
-This hint is ignored for full screen windows.
-
-@anchor GLFW_FOCUSED_hint
-__GLFW_FOCUSED__ specifies whether the windowed mode window will be given input
-focus when created. Possible values are `GLFW_TRUE` and `GLFW_FALSE`. This
-hint is ignored for full screen and initially hidden windows.
-
-@anchor GLFW_AUTO_ICONIFY_hint
-__GLFW_AUTO_ICONIFY__ specifies whether the full screen window will
-automatically iconify and restore the previous video mode on input focus loss.
-Possible values are `GLFW_TRUE` and `GLFW_FALSE`. This hint is ignored for
-windowed mode windows.
-
-@anchor GLFW_FLOATING_hint
-__GLFW_FLOATING__ specifies whether the windowed mode window will be floating
-above other regular windows, also called topmost or always-on-top. This is
-intended primarily for debugging purposes and cannot be used to implement proper
-full screen windows. Possible values are `GLFW_TRUE` and `GLFW_FALSE`. This
-hint is ignored for full screen windows.
-
-@anchor GLFW_MAXIMIZED_hint
-__GLFW_MAXIMIZED__ specifies whether the windowed mode window will be maximized
-when created. Possible values are `GLFW_TRUE` and `GLFW_FALSE`. This hint is
-ignored for full screen windows.
-
-@anchor GLFW_CENTER_CURSOR_hint
-__GLFW_CENTER_CURSOR__ specifies whether the cursor should be centered over
-newly created full screen windows. Possible values are `GLFW_TRUE` and
-`GLFW_FALSE`. This hint is ignored for windowed mode windows.
-
-@anchor GLFW_TRANSPARENT_FRAMEBUFFER_hint
-__GLFW_TRANSPARENT_FRAMEBUFFER__ specifies whether the window framebuffer will
-be transparent. If enabled and supported by the system, the window framebuffer
-alpha channel will be used to combine the framebuffer with the background. This
-does not affect window decorations. Possible values are `GLFW_TRUE` and
-`GLFW_FALSE`.
-
-@anchor GLFW_FOCUS_ON_SHOW_hint
-__GLFW_FOCUS_ON_SHOW__ specifies whether the window will be given input
-focus when @ref glfwShowWindow is called. Possible values are `GLFW_TRUE` and
-`GLFW_FALSE`.
-
-@anchor GLFW_SCALE_TO_MONITOR
-__GLFW_SCALE_TO_MONITOR__ specified whether the window content area should be
-resized based on the [monitor content scale](@ref monitor_scale) of any monitor
-it is placed on. This includes the initial placement when the window is
-created. Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
-
-This hint only has an effect on platforms where screen coordinates and pixels
-always map 1:1 such as Windows and X11. On platforms like macOS the resolution
-of the framebuffer is changed independently of the window size.
-
-@anchor GLFW_MOUSE_PASSTHROUGH_hint
-__GLFW_MOUSE_PASSTHROUGH__ specifies whether the window is transparent to mouse
-input, letting any mouse events pass through to whatever window is behind it.
-This is only supported for undecorated windows. Decorated windows with this
-enabled will behave differently between platforms. Possible values are
-`GLFW_TRUE` and `GLFW_FALSE`.
-
-
-@subsubsection window_hints_fb Framebuffer related hints
-
-@anchor GLFW_RED_BITS
-@anchor GLFW_GREEN_BITS
-@anchor GLFW_BLUE_BITS
-@anchor GLFW_ALPHA_BITS
-@anchor GLFW_DEPTH_BITS
-@anchor GLFW_STENCIL_BITS
-__GLFW_RED_BITS__, __GLFW_GREEN_BITS__, __GLFW_BLUE_BITS__, __GLFW_ALPHA_BITS__,
-__GLFW_DEPTH_BITS__ and __GLFW_STENCIL_BITS__ specify the desired bit depths of
-the various components of the default framebuffer. A value of `GLFW_DONT_CARE`
-means the application has no preference.
-
-@anchor GLFW_ACCUM_RED_BITS
-@anchor GLFW_ACCUM_GREEN_BITS
-@anchor GLFW_ACCUM_BLUE_BITS
-@anchor GLFW_ACCUM_ALPHA_BITS
-__GLFW_ACCUM_RED_BITS__, __GLFW_ACCUM_GREEN_BITS__, __GLFW_ACCUM_BLUE_BITS__ and
-__GLFW_ACCUM_ALPHA_BITS__ specify the desired bit depths of the various
-components of the accumulation buffer. A value of `GLFW_DONT_CARE` means the
-application has no preference.
-
-Accumulation buffers are a legacy OpenGL feature and should not be used in new
-code.
-
-@anchor GLFW_AUX_BUFFERS
-__GLFW_AUX_BUFFERS__ specifies the desired number of auxiliary buffers. A value
-of `GLFW_DONT_CARE` means the application has no preference.
-
-Auxiliary buffers are a legacy OpenGL feature and should not be used in new
-code.
-
-@anchor GLFW_STEREO
-__GLFW_STEREO__ specifies whether to use OpenGL stereoscopic rendering.
-Possible values are `GLFW_TRUE` and `GLFW_FALSE`. This is a hard constraint.
-
-@anchor GLFW_SAMPLES
-__GLFW_SAMPLES__ specifies the desired number of samples to use for
-multisampling. Zero disables multisampling. A value of `GLFW_DONT_CARE` means
-the application has no preference.
-
-@anchor GLFW_SRGB_CAPABLE
-__GLFW_SRGB_CAPABLE__ specifies whether the framebuffer should be sRGB capable.
-Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
-
-@note __OpenGL:__ If enabled and supported by the system, the
-`GL_FRAMEBUFFER_SRGB` enable will control sRGB rendering. By default, sRGB
-rendering will be disabled.
-
-@note __OpenGL ES:__ If enabled and supported by the system, the context will
-always have sRGB rendering enabled.
-
-@anchor GLFW_DOUBLEBUFFER
-@anchor GLFW_DOUBLEBUFFER_hint
-__GLFW_DOUBLEBUFFER__ specifies whether the framebuffer should be double
-buffered. You nearly always want to use double buffering. This is a hard
-constraint. Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
-
-
-@subsubsection window_hints_mtr Monitor related hints
-
-@anchor GLFW_REFRESH_RATE
-__GLFW_REFRESH_RATE__ specifies the desired refresh rate for full screen
-windows. A value of `GLFW_DONT_CARE` means the highest available refresh rate
-will be used. This hint is ignored for windowed mode windows.
-
-
-@subsubsection window_hints_ctx Context related hints
-
-@anchor GLFW_CLIENT_API_hint
-__GLFW_CLIENT_API__ specifies which client API to create the context for.
-Possible values are `GLFW_OPENGL_API`, `GLFW_OPENGL_ES_API` and `GLFW_NO_API`.
-This is a hard constraint.
-
-@anchor GLFW_CONTEXT_CREATION_API_hint
-__GLFW_CONTEXT_CREATION_API__ specifies which context creation API to use to
-create the context. Possible values are `GLFW_NATIVE_CONTEXT_API`,
-`GLFW_EGL_CONTEXT_API` and `GLFW_OSMESA_CONTEXT_API`. This is a hard
-constraint. If no client API is requested, this hint is ignored.
-
-An [extension loader library](@ref context_glext_auto) that assumes it knows
-which API was used to create the current context may fail if you change this
-hint. This can be resolved by having it load functions via @ref
-glfwGetProcAddress.
-
-@note @wayland The EGL API _is_ the native context creation API, so this hint
-will have no effect.
-
-@note @x11 On some Linux systems, creating contexts via both the native and EGL
-APIs in a single process will cause the application to segfault. Stick to one
-API or the other on Linux for now.
-
-@note __OSMesa:__ As its name implies, an OpenGL context created with OSMesa
-does not update the window contents when its buffers are swapped. Use OpenGL
-functions or the OSMesa native access functions @ref glfwGetOSMesaColorBuffer
-and @ref glfwGetOSMesaDepthBuffer to retrieve the framebuffer contents.
-
-@anchor GLFW_CONTEXT_VERSION_MAJOR_hint
-@anchor GLFW_CONTEXT_VERSION_MINOR_hint
-__GLFW_CONTEXT_VERSION_MAJOR__ and __GLFW_CONTEXT_VERSION_MINOR__ specify the
-client API version that the created context must be compatible with. The exact
-behavior of these hints depend on the requested client API.
-
-While there is no way to ask the driver for a context of the highest supported
-version, GLFW will attempt to provide this when you ask for a version 1.0
-context, which is the default for these hints.
-
-Do not confuse these hints with @ref GLFW_VERSION_MAJOR and @ref
-GLFW_VERSION_MINOR, which provide the API version of the GLFW header.
-
-@note __OpenGL:__ These hints are not hard constraints, but creation will fail
-if the OpenGL version of the created context is less than the one requested. It
-is therefore perfectly safe to use the default of version 1.0 for legacy code
-and you will still get backwards-compatible contexts of version 3.0 and above
-when available.
-
-@note __OpenGL ES:__ These hints are not hard constraints, but creation will
-fail if the OpenGL ES version of the created context is less than the one
-requested. Additionally, OpenGL ES 1.x cannot be returned if 2.0 or later was
-requested, and vice versa. This is because OpenGL ES 3.x is backward compatible
-with 2.0, but OpenGL ES 2.0 is not backward compatible with 1.x.
-
-@note @macos The OS only supports core profile contexts for OpenGL versions 3.2
-and later. Before creating an OpenGL context of version 3.2 or later you must
-set the [GLFW_OPENGL_PROFILE](@ref GLFW_OPENGL_PROFILE_hint) hint accordingly.
-OpenGL 3.0 and 3.1 contexts are not supported at all on macOS.
-
-@anchor GLFW_OPENGL_FORWARD_COMPAT_hint
-__GLFW_OPENGL_FORWARD_COMPAT__ specifies whether the OpenGL context should be
-forward-compatible, i.e. one where all functionality deprecated in the requested
-version of OpenGL is removed. This must only be used if the requested OpenGL
-version is 3.0 or above. If OpenGL ES is requested, this hint is ignored.
-
-Forward-compatibility is described in detail in the
-[OpenGL Reference Manual](https://www.opengl.org/registry/).
-
-@anchor GLFW_CONTEXT_DEBUG_hint
-@anchor GLFW_OPENGL_DEBUG_CONTEXT_hint
-__GLFW_CONTEXT_DEBUG__ specifies whether the context should be created in debug
-mode, which may provide additional error and diagnostic reporting functionality.
-Possible values are `GLFW_TRUE` and `GLFW_FALSE`.
-
-Debug contexts for OpenGL and OpenGL ES are described in detail by the
-[GL_KHR_debug](https://www.khronos.org/registry/OpenGL/extensions/KHR/KHR_debug.txt)
-extension.
-
-@note `GLFW_CONTEXT_DEBUG` is the new name introduced in GLFW 3.4. The older
-`GLFW_OPENGL_DEBUG_CONTEXT` name is also available for compatibility.
-
-@anchor GLFW_OPENGL_PROFILE_hint
-__GLFW_OPENGL_PROFILE__ specifies which OpenGL profile to create the context
-for. Possible values are one of `GLFW_OPENGL_CORE_PROFILE` or
-`GLFW_OPENGL_COMPAT_PROFILE`, or `GLFW_OPENGL_ANY_PROFILE` to not request
-a specific profile. If requesting an OpenGL version below 3.2,
-`GLFW_OPENGL_ANY_PROFILE` must be used. If OpenGL ES is requested, this hint
-is ignored.
-
-OpenGL profiles are described in detail in the
-[OpenGL Reference Manual](https://www.opengl.org/registry/).
-
-@anchor GLFW_CONTEXT_ROBUSTNESS_hint
-__GLFW_CONTEXT_ROBUSTNESS__ specifies the robustness strategy to be used by the
-context. This can be one of `GLFW_NO_RESET_NOTIFICATION` or
-`GLFW_LOSE_CONTEXT_ON_RESET`, or `GLFW_NO_ROBUSTNESS` to not request
-a robustness strategy.
-
-@anchor GLFW_CONTEXT_RELEASE_BEHAVIOR_hint
-__GLFW_CONTEXT_RELEASE_BEHAVIOR__ specifies the release behavior to be
-used by the context. Possible values are one of `GLFW_ANY_RELEASE_BEHAVIOR`,
-`GLFW_RELEASE_BEHAVIOR_FLUSH` or `GLFW_RELEASE_BEHAVIOR_NONE`. If the
-behavior is `GLFW_ANY_RELEASE_BEHAVIOR`, the default behavior of the context
-creation API will be used. If the behavior is `GLFW_RELEASE_BEHAVIOR_FLUSH`,
-the pipeline will be flushed whenever the context is released from being the
-current one. If the behavior is `GLFW_RELEASE_BEHAVIOR_NONE`, the pipeline will
-not be flushed on release.
-
-Context release behaviors are described in detail by the
-[GL_KHR_context_flush_control](https://www.opengl.org/registry/specs/KHR/context_flush_control.txt)
-extension.
-
-@anchor GLFW_CONTEXT_NO_ERROR_hint
-__GLFW_CONTEXT_NO_ERROR__ specifies whether errors should be generated by the
-context. Possible values are `GLFW_TRUE` and `GLFW_FALSE`. If enabled,
-situations that would have generated errors instead cause undefined behavior.
-
-The no error mode for OpenGL and OpenGL ES is described in detail by the
-[GL_KHR_no_error](https://www.opengl.org/registry/specs/KHR/no_error.txt)
-extension.
-
-
-@subsubsection window_hints_win32 Win32 specific hints
-
-@anchor GLFW_WIN32_KEYBOARD_MENU_hint
-__GLFW_WIN32_KEYBOARD_MENU__ specifies whether to allow access to the window
-menu via the Alt+Space and Alt-and-then-Space keyboard shortcuts. This is
-ignored on other platforms.
-
-
-@subsubsection window_hints_osx macOS specific hints
-
-@anchor GLFW_COCOA_RETINA_FRAMEBUFFER_hint
-__GLFW_COCOA_RETINA_FRAMEBUFFER__ specifies whether to use full resolution
-framebuffers on Retina displays. Possible values are `GLFW_TRUE` and
-`GLFW_FALSE`. This is ignored on other platforms.
-
-@anchor GLFW_COCOA_FRAME_NAME_hint
-__GLFW_COCOA_FRAME_NAME__ specifies the UTF-8 encoded name to use for autosaving
-the window frame, or if empty disables frame autosaving for the window. This is
-ignored on other platforms. This is set with @ref glfwWindowHintString.
-
-@anchor GLFW_COCOA_GRAPHICS_SWITCHING_hint
-__GLFW_COCOA_GRAPHICS_SWITCHING__ specifies whether to in Automatic Graphics
-Switching, i.e. to allow the system to choose the integrated GPU for the OpenGL
-context and move it between GPUs if necessary or whether to force it to always
-run on the discrete GPU. This only affects systems with both integrated and
-discrete GPUs. Possible values are `GLFW_TRUE` and `GLFW_FALSE`. This is
-ignored on other platforms.
-
-Simpler programs and tools may want to enable this to save power, while games
-and other applications performing advanced rendering will want to leave it
-disabled.
-
-A bundled application that wishes to participate in Automatic Graphics Switching
-should also declare this in its `Info.plist` by setting the
-`NSSupportsAutomaticGraphicsSwitching` key to `true`.
-
-
-@subsubsection window_hints_x11 X11 specific window hints
-
-@anchor GLFW_X11_CLASS_NAME_hint
-@anchor GLFW_X11_INSTANCE_NAME_hint
-__GLFW_X11_CLASS_NAME__ and __GLFW_X11_INSTANCE_NAME__ specifies the desired
-ASCII encoded class and instance parts of the ICCCM `WM_CLASS` window property.
-These are set with @ref glfwWindowHintString.
-
-
-@subsubsection window_hints_values Supported and default values
-
-Window hint | Default value | Supported values
------------------------------ | --------------------------- | ----------------
-GLFW_RESIZABLE | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_VISIBLE | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_DECORATED | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_FOCUSED | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_AUTO_ICONIFY | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_FLOATING | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_MAXIMIZED | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_CENTER_CURSOR | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_TRANSPARENT_FRAMEBUFFER | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_FOCUS_ON_SHOW | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_SCALE_TO_MONITOR | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_MOUSE_PASSTHROUGH | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_RED_BITS | 8 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_GREEN_BITS | 8 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_BLUE_BITS | 8 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_ALPHA_BITS | 8 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_DEPTH_BITS | 24 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_STENCIL_BITS | 8 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_ACCUM_RED_BITS | 0 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_ACCUM_GREEN_BITS | 0 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_ACCUM_BLUE_BITS | 0 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_ACCUM_ALPHA_BITS | 0 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_AUX_BUFFERS | 0 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_SAMPLES | 0 | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_REFRESH_RATE | `GLFW_DONT_CARE` | 0 to `INT_MAX` or `GLFW_DONT_CARE`
-GLFW_STEREO | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_SRGB_CAPABLE | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_DOUBLEBUFFER | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_CLIENT_API | `GLFW_OPENGL_API` | `GLFW_OPENGL_API`, `GLFW_OPENGL_ES_API` or `GLFW_NO_API`
-GLFW_CONTEXT_CREATION_API | `GLFW_NATIVE_CONTEXT_API` | `GLFW_NATIVE_CONTEXT_API`, `GLFW_EGL_CONTEXT_API` or `GLFW_OSMESA_CONTEXT_API`
-GLFW_CONTEXT_VERSION_MAJOR | 1 | Any valid major version number of the chosen client API
-GLFW_CONTEXT_VERSION_MINOR | 0 | Any valid minor version number of the chosen client API
-GLFW_CONTEXT_ROBUSTNESS | `GLFW_NO_ROBUSTNESS` | `GLFW_NO_ROBUSTNESS`, `GLFW_NO_RESET_NOTIFICATION` or `GLFW_LOSE_CONTEXT_ON_RESET`
-GLFW_CONTEXT_RELEASE_BEHAVIOR | `GLFW_ANY_RELEASE_BEHAVIOR` | `GLFW_ANY_RELEASE_BEHAVIOR`, `GLFW_RELEASE_BEHAVIOR_FLUSH` or `GLFW_RELEASE_BEHAVIOR_NONE`
-GLFW_OPENGL_FORWARD_COMPAT | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_CONTEXT_DEBUG | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_OPENGL_PROFILE | `GLFW_OPENGL_ANY_PROFILE` | `GLFW_OPENGL_ANY_PROFILE`, `GLFW_OPENGL_COMPAT_PROFILE` or `GLFW_OPENGL_CORE_PROFILE`
-GLFW_WIN32_KEYBOARD_MENU | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_COCOA_RETINA_FRAMEBUFFER | `GLFW_TRUE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_COCOA_FRAME_NAME | `""` | A UTF-8 encoded frame autosave name
-GLFW_COCOA_GRAPHICS_SWITCHING | `GLFW_FALSE` | `GLFW_TRUE` or `GLFW_FALSE`
-GLFW_X11_CLASS_NAME | `""` | An ASCII encoded `WM_CLASS` class name
-GLFW_X11_INSTANCE_NAME | `""` | An ASCII encoded `WM_CLASS` instance name
-
-
-@section window_events Window event processing
-
-See @ref events.
-
-
-@section window_properties Window properties and events
-
-@subsection window_userptr User pointer
-
-Each window has a user pointer that can be set with @ref
-glfwSetWindowUserPointer and queried with @ref glfwGetWindowUserPointer. This
-can be used for any purpose you need and will not be modified by GLFW throughout
-the life-time of the window.
-
-The initial value of the pointer is `NULL`.
-
-
-@subsection window_close Window closing and close flag
-
-When the user attempts to close the window, for example by clicking the close
-widget or using a key chord like Alt+F4, the _close flag_ of the window is set.
-The window is however not actually destroyed and, unless you watch for this
-state change, nothing further happens.
-
-The current state of the close flag is returned by @ref glfwWindowShouldClose
-and can be set or cleared directly with @ref glfwSetWindowShouldClose. A common
-pattern is to use the close flag as a main loop condition.
-
-@code
-while (!glfwWindowShouldClose(window))
-{
- render(window);
-
- glfwSwapBuffers(window);
- glfwPollEvents();
-}
-@endcode
-
-If you wish to be notified when the user attempts to close a window, set a close
-callback.
-
-@code
-glfwSetWindowCloseCallback(window, window_close_callback);
-@endcode
-
-The callback function is called directly _after_ the close flag has been set.
-It can be used for example to filter close requests and clear the close flag
-again unless certain conditions are met.
-
-@code
-void window_close_callback(GLFWwindow* window)
-{
- if (!time_to_close)
- glfwSetWindowShouldClose(window, GLFW_FALSE);
-}
-@endcode
-
-
-@subsection window_size Window size
-
-The size of a window can be changed with @ref glfwSetWindowSize. For windowed
-mode windows, this sets the size, in
-[screen coordinates](@ref coordinate_systems) of the _content area_ or _content
-area_ of the window. The window system may impose limits on window size.
-
-@code
-glfwSetWindowSize(window, 640, 480);
-@endcode
-
-For full screen windows, the specified size becomes the new resolution of the
-window's desired video mode. The video mode most closely matching the new
-desired video mode is set immediately. The window is resized to fit the
-resolution of the set video mode.
-
-If you wish to be notified when a window is resized, whether by the user, the
-system or your own code, set a size callback.
-
-@code
-glfwSetWindowSizeCallback(window, window_size_callback);
-@endcode
-
-The callback function receives the new size, in screen coordinates, of the
-content area of the window when the window is resized.
-
-@code
-void window_size_callback(GLFWwindow* window, int width, int height)
-{
-}
-@endcode
-
-There is also @ref glfwGetWindowSize for directly retrieving the current size of
-a window.
-
-@code
-int width, height;
-glfwGetWindowSize(window, &width, &height);
-@endcode
-
-@note Do not pass the window size to `glViewport` or other pixel-based OpenGL
-calls. The window size is in screen coordinates, not pixels. Use the
-[framebuffer size](@ref window_fbsize), which is in pixels, for pixel-based
-calls.
-
-The above functions work with the size of the content area, but decorated
-windows typically have title bars and window frames around this rectangle. You
-can retrieve the extents of these with @ref glfwGetWindowFrameSize.
-
-@code
-int left, top, right, bottom;
-glfwGetWindowFrameSize(window, &left, &top, &right, &bottom);
-@endcode
-
-The returned values are the distances, in screen coordinates, from the edges of
-the content area to the corresponding edges of the full window. As they are
-distances and not coordinates, they are always zero or positive.
-
-
-@subsection window_fbsize Framebuffer size
-
-While the size of a window is measured in screen coordinates, OpenGL works with
-pixels. The size you pass into `glViewport`, for example, should be in pixels.
-On some machines screen coordinates and pixels are the same, but on others they
-will not be. There is a second set of functions to retrieve the size, in
-pixels, of the framebuffer of a window.
-
-If you wish to be notified when the framebuffer of a window is resized, whether
-by the user or the system, set a size callback.
-
-@code
-glfwSetFramebufferSizeCallback(window, framebuffer_size_callback);
-@endcode
-
-The callback function receives the new size of the framebuffer when it is
-resized, which can for example be used to update the OpenGL viewport.
-
-@code
-void framebuffer_size_callback(GLFWwindow* window, int width, int height)
-{
- glViewport(0, 0, width, height);
-}
-@endcode
-
-There is also @ref glfwGetFramebufferSize for directly retrieving the current
-size of the framebuffer of a window.
-
-@code
-int width, height;
-glfwGetFramebufferSize(window, &width, &height);
-glViewport(0, 0, width, height);
-@endcode
-
-The size of a framebuffer may change independently of the size of a window, for
-example if the window is dragged between a regular monitor and a high-DPI one.
-
-
-@subsection window_scale Window content scale
-
-The content scale for a window can be retrieved with @ref
-glfwGetWindowContentScale.
-
-@code
-float xscale, yscale;
-glfwGetWindowContentScale(window, &xscale, &yscale);
-@endcode
-
-The content scale is the ratio between the current DPI and the platform's
-default DPI. This is especially important for text and any UI elements. If the
-pixel dimensions of your UI scaled by this look appropriate on your machine then
-it should appear at a reasonable size on other machines regardless of their DPI
-and scaling settings. This relies on the system DPI and scaling settings being
-somewhat correct.
-
-On systems where each monitors can have its own content scale, the window
-content scale will depend on which monitor the system considers the window to be
-on.
-
-If you wish to be notified when the content scale of a window changes, whether
-because of a system setting change or because it was moved to a monitor with
-a different scale, set a content scale callback.
-
-@code
-glfwSetWindowContentScaleCallback(window, window_content_scale_callback);
-@endcode
-
-The callback function receives the new content scale of the window.
-
-@code
-void window_content_scale_callback(GLFWwindow* window, float xscale, float yscale)
-{
- set_interface_scale(xscale, yscale);
-}
-@endcode
-
-On platforms where pixels and screen coordinates always map 1:1, the window
-will need to be resized to appear the same size when it is moved to a monitor
-with a different content scale. To have this done automatically both when the
-window is created and when its content scale later changes, set the @ref
-GLFW_SCALE_TO_MONITOR window hint.
-
-
-@subsection window_sizelimits Window size limits
-
-The minimum and maximum size of the content area of a windowed mode window can
-be enforced with @ref glfwSetWindowSizeLimits. The user may resize the window
-to any size and aspect ratio within the specified limits, unless the aspect
-ratio is also set.
-
-@code
-glfwSetWindowSizeLimits(window, 200, 200, 400, 400);
-@endcode
-
-To specify only a minimum size or only a maximum one, set the other pair to
-`GLFW_DONT_CARE`.
-
-@code
-glfwSetWindowSizeLimits(window, 640, 480, GLFW_DONT_CARE, GLFW_DONT_CARE);
-@endcode
-
-To disable size limits for a window, set them all to `GLFW_DONT_CARE`.
-
-The aspect ratio of the content area of a windowed mode window can be enforced
-with @ref glfwSetWindowAspectRatio. The user may resize the window freely
-unless size limits are also set, but the size will be constrained to maintain
-the aspect ratio.
-
-@code
-glfwSetWindowAspectRatio(window, 16, 9);
-@endcode
-
-The aspect ratio is specified as a numerator and denominator, corresponding to
-the width and height, respectively. If you want a window to maintain its
-current aspect ratio, use its current size as the ratio.
-
-@code
-int width, height;
-glfwGetWindowSize(window, &width, &height);
-glfwSetWindowAspectRatio(window, width, height);
-@endcode
-
-To disable the aspect ratio limit for a window, set both terms to
-`GLFW_DONT_CARE`.
-
-You can have both size limits and aspect ratio set for a window, but the results
-are undefined if they conflict.
-
-
-@subsection window_pos Window position
-
-The position of a windowed-mode window can be changed with @ref
-glfwSetWindowPos. This moves the window so that the upper-left corner of its
-content area has the specified [screen coordinates](@ref coordinate_systems).
-The window system may put limitations on window placement.
-
-@code
-glfwSetWindowPos(window, 100, 100);
-@endcode
-
-If you wish to be notified when a window is moved, whether by the user, the
-system or your own code, set a position callback.
-
-@code
-glfwSetWindowPosCallback(window, window_pos_callback);
-@endcode
-
-The callback function receives the new position, in screen coordinates, of the
-upper-left corner of the content area when the window is moved.
-
-@code
-void window_pos_callback(GLFWwindow* window, int xpos, int ypos)
-{
-}
-@endcode
-
-There is also @ref glfwGetWindowPos for directly retrieving the current position
-of the content area of the window.
-
-@code
-int xpos, ypos;
-glfwGetWindowPos(window, &xpos, &ypos);
-@endcode
-
-
-@subsection window_title Window title
-
-All GLFW windows have a title, although undecorated or full screen windows may
-not display it or only display it in a task bar or similar interface. You can
-set a UTF-8 encoded window title with @ref glfwSetWindowTitle.
-
-@code
-glfwSetWindowTitle(window, "My Window");
-@endcode
-
-The specified string is copied before the function returns, so there is no need
-to keep it around.
-
-As long as your source file is encoded as UTF-8, you can use any Unicode
-characters directly in the source.
-
-@code
-glfwSetWindowTitle(window, "ラストエグザイル");
-@endcode
-
-If you are using C++11 or C11, you can use a UTF-8 string literal.
-
-@code
-glfwSetWindowTitle(window, u8"This is always a UTF-8 string");
-@endcode
-
-
-@subsection window_icon Window icon
-
-Decorated windows have icons on some platforms. You can set this icon by
-specifying a list of candidate images with @ref glfwSetWindowIcon.
-
-@code
-GLFWimage images[2];
-images[0] = load_icon("my_icon.png");
-images[1] = load_icon("my_icon_small.png");
-
-glfwSetWindowIcon(window, 2, images);
-@endcode
-
-The image data is 32-bit, little-endian, non-premultiplied RGBA, i.e. eight bits
-per channel with the red channel first. The pixels are arranged canonically as
-sequential rows, starting from the top-left corner.
-
-To revert to the default window icon, pass in an empty image array.
-
-@code
-glfwSetWindowIcon(window, 0, NULL);
-@endcode
-
-
-@subsection window_monitor Window monitor
-
-Full screen windows are associated with a specific monitor. You can get the
-handle for this monitor with @ref glfwGetWindowMonitor.
-
-@code
-GLFWmonitor* monitor = glfwGetWindowMonitor(window);
-@endcode
-
-This monitor handle is one of those returned by @ref glfwGetMonitors.
-
-For windowed mode windows, this function returns `NULL`. This is how to tell
-full screen windows from windowed mode windows.
-
-You can move windows between monitors or between full screen and windowed mode
-with @ref glfwSetWindowMonitor. When making a window full screen on the same or
-on a different monitor, specify the desired monitor, resolution and refresh
-rate. The position arguments are ignored.
-
-@code
-const GLFWvidmode* mode = glfwGetVideoMode(monitor);
-
-glfwSetWindowMonitor(window, monitor, 0, 0, mode->width, mode->height, mode->refreshRate);
-@endcode
-
-When making the window windowed, specify the desired position and size. The
-refresh rate argument is ignored.
-
-@code
-glfwSetWindowMonitor(window, NULL, xpos, ypos, width, height, 0);
-@endcode
-
-This restores any previous window settings such as whether it is decorated,
-floating, resizable, has size or aspect ratio limits, etc.. To restore a window
-that was originally windowed to its original size and position, save these
-before making it full screen and then pass them in as above.
-
-
-@subsection window_iconify Window iconification
-
-Windows can be iconified (i.e. minimized) with @ref glfwIconifyWindow.
-
-@code
-glfwIconifyWindow(window);
-@endcode
-
-When a full screen window is iconified, the original video mode of its monitor
-is restored until the user or application restores the window.
-
-Iconified windows can be restored with @ref glfwRestoreWindow. This function
-also restores windows from maximization.
-
-@code
-glfwRestoreWindow(window);
-@endcode
-
-When a full screen window is restored, the desired video mode is restored to its
-monitor as well.
-
-If you wish to be notified when a window is iconified or restored, whether by
-the user, system or your own code, set an iconify callback.
-
-@code
-glfwSetWindowIconifyCallback(window, window_iconify_callback);
-@endcode
-
-The callback function receives changes in the iconification state of the window.
-
-@code
-void window_iconify_callback(GLFWwindow* window, int iconified)
-{
- if (iconified)
- {
- // The window was iconified
- }
- else
- {
- // The window was restored
- }
-}
-@endcode
-
-You can also get the current iconification state with @ref glfwGetWindowAttrib.
-
-@code
-int iconified = glfwGetWindowAttrib(window, GLFW_ICONIFIED);
-@endcode
-
-
-@subsection window_maximize Window maximization
-
-Windows can be maximized (i.e. zoomed) with @ref glfwMaximizeWindow.
-
-@code
-glfwMaximizeWindow(window);
-@endcode
-
-Full screen windows cannot be maximized and passing a full screen window to this
-function does nothing.
-
-Maximized windows can be restored with @ref glfwRestoreWindow. This function
-also restores windows from iconification.
-
-@code
-glfwRestoreWindow(window);
-@endcode
-
-If you wish to be notified when a window is maximized or restored, whether by
-the user, system or your own code, set a maximize callback.
-
-@code
-glfwSetWindowMaximizeCallback(window, window_maximize_callback);
-@endcode
-
-The callback function receives changes in the maximization state of the window.
-
-@code
-void window_maximize_callback(GLFWwindow* window, int maximized)
-{
- if (maximized)
- {
- // The window was maximized
- }
- else
- {
- // The window was restored
- }
-}
-@endcode
-
-You can also get the current maximization state with @ref glfwGetWindowAttrib.
-
-@code
-int maximized = glfwGetWindowAttrib(window, GLFW_MAXIMIZED);
-@endcode
-
-By default, newly created windows are not maximized. You can change this
-behavior by setting the [GLFW_MAXIMIZED](@ref GLFW_MAXIMIZED_hint) window hint
-before creating the window.
-
-@code
-glfwWindowHint(GLFW_MAXIMIZED, GLFW_TRUE);
-@endcode
-
-
-@subsection window_hide Window visibility
-
-Windowed mode windows can be hidden with @ref glfwHideWindow.
-
-@code
-glfwHideWindow(window);
-@endcode
-
-This makes the window completely invisible to the user, including removing it
-from the task bar, dock or window list. Full screen windows cannot be hidden
-and calling @ref glfwHideWindow on a full screen window does nothing.
-
-Hidden windows can be shown with @ref glfwShowWindow.
-
-@code
-glfwShowWindow(window);
-@endcode
-
-By default, this function will also set the input focus to that window. Set
-the [GLFW_FOCUS_ON_SHOW](@ref GLFW_FOCUS_ON_SHOW_hint) window hint to change
-this behavior for all newly created windows, or change the behavior for an
-existing window with @ref glfwSetWindowAttrib.
-
-You can also get the current visibility state with @ref glfwGetWindowAttrib.
-
-@code
-int visible = glfwGetWindowAttrib(window, GLFW_VISIBLE);
-@endcode
-
-By default, newly created windows are visible. You can change this behavior by
-setting the [GLFW_VISIBLE](@ref GLFW_VISIBLE_hint) window hint before creating
-the window.
-
-@code
-glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
-@endcode
-
-Windows created hidden are completely invisible to the user until shown. This
-can be useful if you need to set up your window further before showing it, for
-example moving it to a specific location.
-
-
-@subsection window_focus Window input focus
-
-Windows can be given input focus and brought to the front with @ref
-glfwFocusWindow.
-
-@code
-glfwFocusWindow(window);
-@endcode
-
-Keep in mind that it can be very disruptive to the user when a window is forced
-to the top. For a less disruptive way of getting the user's attention, see
-[attention requests](@ref window_attention).
-
-If you wish to be notified when a window gains or loses input focus, whether by
-the user, system or your own code, set a focus callback.
-
-@code
-glfwSetWindowFocusCallback(window, window_focus_callback);
-@endcode
-
-The callback function receives changes in the input focus state of the window.
-
-@code
-void window_focus_callback(GLFWwindow* window, int focused)
-{
- if (focused)
- {
- // The window gained input focus
- }
- else
- {
- // The window lost input focus
- }
-}
-@endcode
-
-You can also get the current input focus state with @ref glfwGetWindowAttrib.
-
-@code
-int focused = glfwGetWindowAttrib(window, GLFW_FOCUSED);
-@endcode
-
-By default, newly created windows are given input focus. You can change this
-behavior by setting the [GLFW_FOCUSED](@ref GLFW_FOCUSED_hint) window hint
-before creating the window.
-
-@code
-glfwWindowHint(GLFW_FOCUSED, GLFW_FALSE);
-@endcode
-
-
-@subsection window_attention Window attention request
-
-If you wish to notify the user of an event without interrupting, you can request
-attention with @ref glfwRequestWindowAttention.
-
-@code
-glfwRequestWindowAttention(window);
-@endcode
-
-The system will highlight the specified window, or on platforms where this is
-not supported, the application as a whole. Once the user has given it
-attention, the system will automatically end the request.
-
-
-@subsection window_refresh Window damage and refresh
-
-If you wish to be notified when the contents of a window is damaged and needs
-to be refreshed, set a window refresh callback.
-
-@code
-glfwSetWindowRefreshCallback(m_handle, window_refresh_callback);
-@endcode
-
-The callback function is called when the contents of the window needs to be
-refreshed.
-
-@code
-void window_refresh_callback(GLFWwindow* window)
-{
- draw_editor_ui(window);
- glfwSwapBuffers(window);
-}
-@endcode
-
-@note On compositing window systems such as Aero, Compiz or Aqua, where the
-window contents are saved off-screen, this callback might only be called when
-the window or framebuffer is resized.
-
-
-@subsection window_transparency Window transparency
-
-GLFW supports two kinds of transparency for windows; framebuffer transparency
-and whole window transparency. A single window may not use both methods. The
-results of doing this are undefined.
-
-Both methods require the platform to support it and not every version of every
-platform GLFW supports does this, so there are mechanisms to check whether the
-window really is transparent.
-
-Window framebuffers can be made transparent on a per-pixel per-frame basis with
-the [GLFW_TRANSPARENT_FRAMEBUFFER](@ref GLFW_TRANSPARENT_FRAMEBUFFER_hint)
-window hint.
-
-@code
-glfwWindowHint(GLFW_TRANSPARENT_FRAMEBUFFER, GLFW_TRUE);
-@endcode
-
-If supported by the system, the window content area will be composited with the
-background using the framebuffer per-pixel alpha channel. This requires desktop
-compositing to be enabled on the system. It does not affect window decorations.
-
-You can check whether the window framebuffer was successfully made transparent
-with the
-[GLFW_TRANSPARENT_FRAMEBUFFER](@ref GLFW_TRANSPARENT_FRAMEBUFFER_attrib)
-window attribute.
-
-@code
-if (glfwGetWindowAttrib(window, GLFW_TRANSPARENT_FRAMEBUFFER))
-{
- // window framebuffer is currently transparent
-}
-@endcode
-
-GLFW comes with an example that enabled framebuffer transparency called `gears`.
-
-The opacity of the whole window, including any decorations, can be set with @ref
-glfwSetWindowOpacity.
-
-@code
-glfwSetWindowOpacity(window, 0.5f);
-@endcode
-
-The opacity (or alpha) value is a positive finite number between zero and one,
-where 0 (zero) is fully transparent and 1 (one) is fully opaque. The initial
-opacity value for newly created windows is 1.
-
-The current opacity of a window can be queried with @ref glfwGetWindowOpacity.
-
-@code
-float opacity = glfwGetWindowOpacity(window);
-@endcode
-
-If the system does not support whole window transparency, this function always
-returns one.
-
-GLFW comes with a test program that lets you control whole window transparency
-at run-time called `window`.
-
-If you want to use either of these transparency methods to display a temporary
-overlay like for example a notification, the @ref GLFW_FLOATING and @ref
-GLFW_MOUSE_PASSTHROUGH window hints and attributes may be useful.
-
-
-@subsection window_attribs Window attributes
-
-Windows have a number of attributes that can be returned using @ref
-glfwGetWindowAttrib. Some reflect state that may change as a result of user
-interaction, (e.g. whether it has input focus), while others reflect inherent
-properties of the window (e.g. what kind of border it has). Some are related to
-the window and others to its OpenGL or OpenGL ES context.
-
-@code
-if (glfwGetWindowAttrib(window, GLFW_FOCUSED))
-{
- // window has input focus
-}
-@endcode
-
-The [GLFW_DECORATED](@ref GLFW_DECORATED_attrib),
-[GLFW_RESIZABLE](@ref GLFW_RESIZABLE_attrib),
-[GLFW_FLOATING](@ref GLFW_FLOATING_attrib),
-[GLFW_AUTO_ICONIFY](@ref GLFW_AUTO_ICONIFY_attrib) and
-[GLFW_FOCUS_ON_SHOW](@ref GLFW_FOCUS_ON_SHOW_attrib) window attributes can be
-changed with @ref glfwSetWindowAttrib.
-
-@code
-glfwSetWindowAttrib(window, GLFW_RESIZABLE, GLFW_FALSE);
-@endcode
-
-
-
-@subsubsection window_attribs_wnd Window related attributes
-
-@anchor GLFW_FOCUSED_attrib
-__GLFW_FOCUSED__ indicates whether the specified window has input focus. See
-@ref window_focus for details.
-
-@anchor GLFW_ICONIFIED_attrib
-__GLFW_ICONIFIED__ indicates whether the specified window is iconified.
-See @ref window_iconify for details.
-
-@anchor GLFW_MAXIMIZED_attrib
-__GLFW_MAXIMIZED__ indicates whether the specified window is maximized. See
-@ref window_maximize for details.
-
-@anchor GLFW_HOVERED_attrib
-__GLFW_HOVERED__ indicates whether the cursor is currently directly over the
-content area of the window, with no other windows between. See @ref
-cursor_enter for details.
-
-@anchor GLFW_VISIBLE_attrib
-__GLFW_VISIBLE__ indicates whether the specified window is visible. See @ref
-window_hide for details.
-
-@anchor GLFW_RESIZABLE_attrib
-__GLFW_RESIZABLE__ indicates whether the specified window is resizable _by the
-user_. This can be set before creation with the
-[GLFW_RESIZABLE](@ref GLFW_RESIZABLE_hint) window hint or after with @ref
-glfwSetWindowAttrib.
-
-@anchor GLFW_DECORATED_attrib
-__GLFW_DECORATED__ indicates whether the specified window has decorations such
-as a border, a close widget, etc. This can be set before creation with the
-[GLFW_DECORATED](@ref GLFW_DECORATED_hint) window hint or after with @ref
-glfwSetWindowAttrib.
-
-@anchor GLFW_AUTO_ICONIFY_attrib
-__GLFW_AUTO_ICONIFY__ indicates whether the specified full screen window is
-iconified on focus loss, a close widget, etc. This can be set before creation
-with the [GLFW_AUTO_ICONIFY](@ref GLFW_AUTO_ICONIFY_hint) window hint or after
-with @ref glfwSetWindowAttrib.
-
-@anchor GLFW_FLOATING_attrib
-__GLFW_FLOATING__ indicates whether the specified window is floating, also
-called topmost or always-on-top. This can be set before creation with the
-[GLFW_FLOATING](@ref GLFW_FLOATING_hint) window hint or after with @ref
-glfwSetWindowAttrib.
-
-@anchor GLFW_TRANSPARENT_FRAMEBUFFER_attrib
-__GLFW_TRANSPARENT_FRAMEBUFFER__ indicates whether the specified window has
-a transparent framebuffer, i.e. the window contents is composited with the
-background using the window framebuffer alpha channel. See @ref
-window_transparency for details.
-
-@anchor GLFW_FOCUS_ON_SHOW_attrib
-__GLFW_FOCUS_ON_SHOW__ specifies whether the window will be given input
-focus when @ref glfwShowWindow is called. This can be set before creation
-with the [GLFW_FOCUS_ON_SHOW](@ref GLFW_FOCUS_ON_SHOW_hint) window hint or
-after with @ref glfwSetWindowAttrib.
-
-@anchor GLFW_MOUSE_PASSTHROUGH_attrib
-__GLFW_MOUSE_PASSTHROUGH__ specifies whether the window is transparent to mouse
-input, letting any mouse events pass through to whatever window is behind it.
-This can be set before creation with the
-[GLFW_MOUSE_PASSTHROUGH](@ref GLFW_MOUSE_PASSTHROUGH_hint) window hint or after
-with @ref glfwSetWindowAttrib. This is only supported for undecorated windows.
-Decorated windows with this enabled will behave differently between platforms.
-
-
-@subsubsection window_attribs_ctx Context related attributes
-
-@anchor GLFW_CLIENT_API_attrib
-__GLFW_CLIENT_API__ indicates the client API provided by the window's context;
-either `GLFW_OPENGL_API`, `GLFW_OPENGL_ES_API` or `GLFW_NO_API`.
-
-@anchor GLFW_CONTEXT_CREATION_API_attrib
-__GLFW_CONTEXT_CREATION_API__ indicates the context creation API used to create
-the window's context; either `GLFW_NATIVE_CONTEXT_API`, `GLFW_EGL_CONTEXT_API`
-or `GLFW_OSMESA_CONTEXT_API`.
-
-@anchor GLFW_CONTEXT_VERSION_MAJOR_attrib
-@anchor GLFW_CONTEXT_VERSION_MINOR_attrib
-@anchor GLFW_CONTEXT_REVISION_attrib
-__GLFW_CONTEXT_VERSION_MAJOR__, __GLFW_CONTEXT_VERSION_MINOR__ and
-__GLFW_CONTEXT_REVISION__ indicate the client API version of the window's
-context.
-
-@note Do not confuse these attributes with `GLFW_VERSION_MAJOR`,
-`GLFW_VERSION_MINOR` and `GLFW_VERSION_REVISION` which provide the API version
-of the GLFW header.
-
-@anchor GLFW_OPENGL_FORWARD_COMPAT_attrib
-__GLFW_OPENGL_FORWARD_COMPAT__ is `GLFW_TRUE` if the window's context is an
-OpenGL forward-compatible one, or `GLFW_FALSE` otherwise.
-
-@anchor GLFW_CONTEXT_DEBUG_attrib
-@anchor GLFW_OPENGL_DEBUG_CONTEXT_attrib
-__GLFW_CONTEXT_DEBUG__ is `GLFW_TRUE` if the window's context is in debug
-mode, or `GLFW_FALSE` otherwise.
-
-@par
-This is the new name, introduced in GLFW 3.4. The older
-`GLFW_OPENGL_DEBUG_CONTEXT` name is also available for compatibility.
-
-@anchor GLFW_OPENGL_PROFILE_attrib
-__GLFW_OPENGL_PROFILE__ indicates the OpenGL profile used by the context. This
-is `GLFW_OPENGL_CORE_PROFILE` or `GLFW_OPENGL_COMPAT_PROFILE` if the context
-uses a known profile, or `GLFW_OPENGL_ANY_PROFILE` if the OpenGL profile is
-unknown or the context is an OpenGL ES context. Note that the returned profile
-may not match the profile bits of the context flags, as GLFW will try other
-means of detecting the profile when no bits are set.
-
-@anchor GLFW_CONTEXT_RELEASE_BEHAVIOR_attrib
-__GLFW_CONTEXT_RELEASE_BEHAVIOR__ indicates the release used by the context.
-Possible values are one of `GLFW_ANY_RELEASE_BEHAVIOR`,
-`GLFW_RELEASE_BEHAVIOR_FLUSH` or `GLFW_RELEASE_BEHAVIOR_NONE`. If the
-behavior is `GLFW_ANY_RELEASE_BEHAVIOR`, the default behavior of the context
-creation API will be used. If the behavior is `GLFW_RELEASE_BEHAVIOR_FLUSH`,
-the pipeline will be flushed whenever the context is released from being the
-current one. If the behavior is `GLFW_RELEASE_BEHAVIOR_NONE`, the pipeline will
-not be flushed on release.
-
-@anchor GLFW_CONTEXT_NO_ERROR_attrib
-__GLFW_CONTEXT_NO_ERROR__ indicates whether errors are generated by the context.
-Possible values are `GLFW_TRUE` and `GLFW_FALSE`. If enabled, situations that
-would have generated errors instead cause undefined behavior.
-
-@anchor GLFW_CONTEXT_ROBUSTNESS_attrib
-__GLFW_CONTEXT_ROBUSTNESS__ indicates the robustness strategy used by the
-context. This is `GLFW_LOSE_CONTEXT_ON_RESET` or `GLFW_NO_RESET_NOTIFICATION`
-if the window's context supports robustness, or `GLFW_NO_ROBUSTNESS` otherwise.
-
-
-@subsubsection window_attribs_fb Framebuffer related attributes
-
-GLFW does not expose most attributes of the default framebuffer (i.e. the
-framebuffer attached to the window) as these can be queried directly with either
-OpenGL, OpenGL ES or Vulkan. The one exception is
-[GLFW_DOUBLEBUFFER](@ref GLFW_DOUBLEBUFFER_attrib), as this is not provided by
-OpenGL ES.
-
-If you are using version 3.0 or later of OpenGL or OpenGL ES, the
-`glGetFramebufferAttachmentParameteriv` function can be used to retrieve the
-number of bits for the red, green, blue, alpha, depth and stencil buffer
-channels. Otherwise, the `glGetIntegerv` function can be used.
-
-The number of MSAA samples are always retrieved with `glGetIntegerv`. For
-contexts supporting framebuffer objects, the number of samples of the currently
-bound framebuffer is returned.
-
-Attribute | glGetIntegerv | glGetFramebufferAttachmentParameteriv
------------- | ----------------- | -------------------------------------
-Red bits | `GL_RED_BITS` | `GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE`
-Green bits | `GL_GREEN_BITS` | `GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE`
-Blue bits | `GL_BLUE_BITS` | `GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE`
-Alpha bits | `GL_ALPHA_BITS` | `GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE`
-Depth bits | `GL_DEPTH_BITS` | `GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE`
-Stencil bits | `GL_STENCIL_BITS` | `GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE`
-MSAA samples | `GL_SAMPLES` | _Not provided by this function_
-
-When calling `glGetFramebufferAttachmentParameteriv`, the red, green, blue and
-alpha sizes are queried from the `GL_BACK_LEFT`, while the depth and stencil
-sizes are queried from the `GL_DEPTH` and `GL_STENCIL` attachments,
-respectively.
-
-@anchor GLFW_DOUBLEBUFFER_attrib
-__GLFW_DOUBLEBUFFER__ indicates whether the specified window is double-buffered
-when rendering with OpenGL or OpenGL ES. This can be set before creation with
-the [GLFW_DOUBLEBUFFER](@ref GLFW_DOUBLEBUFFER_hint) window hint.
-
-
-@section buffer_swap Buffer swapping
-
-GLFW windows are by default double buffered. That means that you have two
-rendering buffers; a front buffer and a back buffer. The front buffer is
-the one being displayed and the back buffer the one you render to.
-
-When the entire frame has been rendered, it is time to swap the back and the
-front buffers in order to display what has been rendered and begin rendering
-a new frame. This is done with @ref glfwSwapBuffers.
-
-@code
-glfwSwapBuffers(window);
-@endcode
-
-Sometimes it can be useful to select when the buffer swap will occur. With the
-function @ref glfwSwapInterval it is possible to select the minimum number of
-monitor refreshes the driver should wait from the time @ref glfwSwapBuffers was
-called before swapping the buffers:
-
-@code
-glfwSwapInterval(1);
-@endcode
-
-If the interval is zero, the swap will take place immediately when @ref
-glfwSwapBuffers is called without waiting for a refresh. Otherwise at least
-interval retraces will pass between each buffer swap. Using a swap interval of
-zero can be useful for benchmarking purposes, when it is not desirable to
-measure the time it takes to wait for the vertical retrace. However, a swap
-interval of one lets you avoid tearing.
-
-Note that this may not work on all machines, as some drivers have
-user-controlled settings that override any swap interval the application
-requests.
-
-A context that supports either the `WGL_EXT_swap_control_tear` or the
-`GLX_EXT_swap_control_tear` extension also accepts _negative_ swap intervals,
-which allows the driver to swap immediately even if a frame arrives a little bit
-late. This trades the risk of visible tears for greater framerate stability.
-You can check for these extensions with @ref glfwExtensionSupported.
-
-*/